diff options
author | Rickard Nilsson <rickynils@gmail.com> | 2014-10-14 15:20:27 +0200 |
---|---|---|
committer | Rickard Nilsson <rickynils@gmail.com> | 2014-10-14 15:38:42 +0200 |
commit | 54a0ac090c9c7cda53a110e4790d22d59e66eef3 (patch) | |
tree | 62be6dc43be91af49598fe8b373b43ebaf2fffbf /nixos/modules/services/logging | |
parent | 958193aeb4dd9cce628f97a566d032238f3707a0 (diff) | |
download | nixlib-54a0ac090c9c7cda53a110e4790d22d59e66eef3.tar nixlib-54a0ac090c9c7cda53a110e4790d22d59e66eef3.tar.gz nixlib-54a0ac090c9c7cda53a110e4790d22d59e66eef3.tar.bz2 nixlib-54a0ac090c9c7cda53a110e4790d22d59e66eef3.tar.lz nixlib-54a0ac090c9c7cda53a110e4790d22d59e66eef3.tar.xz nixlib-54a0ac090c9c7cda53a110e4790d22d59e66eef3.tar.zst nixlib-54a0ac090c9c7cda53a110e4790d22d59e66eef3.zip |
nixos/syslog-ng: Replace option serviceName with listenToJournal. Fix socket activation
Diffstat (limited to 'nixos/modules/services/logging')
-rw-r--r-- | nixos/modules/services/logging/syslog-ng.nix | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/nixos/modules/services/logging/syslog-ng.nix b/nixos/modules/services/logging/syslog-ng.nix index 4a16b19134a0..64b288a11cd3 100644 --- a/nixos/modules/services/logging/syslog-ng.nix +++ b/nixos/modules/services/logging/syslog-ng.nix @@ -44,13 +44,13 @@ in { The package providing syslog-ng binaries. ''; }; - serviceName = mkOption { - type = types.str; - default = "syslog-ng"; + listenToJournal = mkOption { + type = types.bool; + default = true; description = '' - The name of the systemd service that runs syslog-ng. Set this to - <literal>syslog</literal> if you want journald to automatically - forward all logs to syslog-ng. + Whether syslog-ng should listen to the syslog socket used + by journald, and therefore receive all logs that journald + produces. ''; }; extraModulePaths = mkOption { @@ -76,12 +76,18 @@ in { }; config = mkIf cfg.enable { - systemd.services."${cfg.serviceName}" = { - wantedBy = [ "multi-user.target" ]; + systemd.sockets.syslog = mkIf cfg.listenToJournal { + wantedBy = [ "sockets.target" ]; + socketConfig.Service = "syslog-ng.service"; + }; + systemd.services.syslog-ng = { + description = "syslog-ng daemon"; preStart = "mkdir -p /{var,run}/syslog-ng"; + wantedBy = optional (!cfg.listenToJournal) "multi-user.target"; + after = [ "multi-user.target" ]; # makes sure hostname etc is set serviceConfig = { Type = "notify"; - Sockets = "syslog.socket"; + Sockets = if cfg.listenToJournal then "syslog.socket" else null; StandardOutput = "null"; Restart = "on-failure"; ExecStart = "${cfg.package}/sbin/syslog-ng ${concatStringsSep " " syslogngOptions}"; |