eximlog: init
This commit is contained in:
parent
7f10d9526c
commit
13be61e360
28
krebs/5pkgs/simple/eximlog.nix
Normal file
28
krebs/5pkgs/simple/eximlog.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{ jq, systemd, writeDashBin }:
|
||||
|
||||
let
|
||||
lib = import <stockholm/lib>;
|
||||
user = "exim"; # TODO make this configurable
|
||||
in
|
||||
|
||||
# TODO execute eximlog only if journalctl doesn't fail
|
||||
# bash's set -o pipefail isn't enough
|
||||
|
||||
writeDashBin "eximlog" ''
|
||||
${systemd}/bin/journalctl \
|
||||
-u ${lib.shell.escape user} \
|
||||
-o short-unix \
|
||||
"$@" \
|
||||
|
|
||||
${jq}/bin/jq -Rr '
|
||||
# Only select lines that start with a timestamp
|
||||
select(test("^[0-9]")) |
|
||||
|
||||
split(" ") |
|
||||
(.[0] | tonumber) as $time |
|
||||
(.[3:] | join(" ")) as $message |
|
||||
|
||||
"\($time | strftime("%Y-%m-%d %H:%M:%S %z")) \($message)"
|
||||
|
||||
'
|
||||
''
|
Loading…
Reference in New Issue
Block a user