diff options
author | Jean-Philippe Braun <eon@patapon.info> | 2018-12-05 14:56:23 +0100 |
---|---|---|
committer | Jean-Philippe Braun <eon@patapon.info> | 2018-12-05 15:17:37 +0100 |
commit | 691932bba67591a23aa4ad1e844a4cbf4d16eff5 (patch) | |
tree | 54aea2438f78ab6449ba60ac61b58bfecada47bb /nixos/modules/services/databases/cassandra.nix | |
parent | 296b33370984c3ddb8a40d7d02f6f8718f5d8459 (diff) |
cassandra: add option to configure logging
As cassandra start script hardcodes the location of logback configuration to `CASSANDRA_CONF_DIR/logback.xml` there is no way to pass an alternate file via `$JVM_OPTS` for example. Also, without logback configuration DEBUG level is used which is not necessary for standard usage. With this commit a default logback configuration is set with log level INFO. Configuration borrowed from: https://docs.datastax.com/en/cassandra/3.0/cassandra/configuration/configLoggingLevels.html
Diffstat (limited to 'nixos/modules/services/databases/cassandra.nix')
-rw-r--r-- | nixos/modules/services/databases/cassandra.nix | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/nixos/modules/services/databases/cassandra.nix b/nixos/modules/services/databases/cassandra.nix index 86e74d5d5ab42..d741ee48c48f0 100644 --- a/nixos/modules/services/databases/cassandra.nix +++ b/nixos/modules/services/databases/cassandra.nix @@ -34,11 +34,13 @@ let { name = "cassandra-etc"; cassandraYaml = builtins.toJSON cassandraConfigWithAddresses; cassandraEnvPkg = "${cfg.package}/conf/cassandra-env.sh"; + cassandraLogbackConfig = pkgs.writeText "logback.xml" cfg.logbackConfig; buildCommand = '' mkdir -p "$out" echo "$cassandraYaml" > "$out/cassandra.yaml" ln -s "$cassandraEnvPkg" "$out/cassandra-env.sh" + ln -s "$cassandraLogbackConfig" "$out/logback.xml" ''; }; in { @@ -139,7 +141,27 @@ in { correspond to a single address, IP aliasing is not supported. ''; }; + logbackConfig = mkOption { + type = types.lines; + default = '' + <configuration scan="false"> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>%-5level %date{HH:mm:ss,SSS} %msg%n</pattern> + </encoder> + </appender> + <root level="INFO"> + <appender-ref ref="STDOUT" /> + </root> + + <logger name="com.thinkaurelius.thrift" level="ERROR"/> + </configuration> + ''; + description = '' + XML logback configuration for cassandra + ''; + }; extraConfig = mkOption { type = types.attrs; default = {}; |