diff options
author | lassulus <lassulus@lassul.us> | 2017-12-25 23:01:27 +0100 |
---|---|---|
committer | lassulus <lassulus@lassul.us> | 2017-12-25 23:01:27 +0100 |
commit | 3a41a73f1fcc32736ace08783d9bfee8a77f3f80 (patch) | |
tree | 2b9f02ddb439ae403e4238a9e4f47aa5fda65878 /krebs/5pkgs/simple/eximlog.nix | |
parent | b73b1c45e57e3bab0300f5ecbed261c6d45a5d53 (diff) | |
parent | 28085c8e6d37a0dd31d7627fa01d072723c4f46c (diff) |
Merge remote-tracking branch 'ni/master' into staging/test
Diffstat (limited to 'krebs/5pkgs/simple/eximlog.nix')
-rw-r--r-- | krebs/5pkgs/simple/eximlog.nix | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/krebs/5pkgs/simple/eximlog.nix b/krebs/5pkgs/simple/eximlog.nix new file mode 100644 index 000000000..2d64e13e9 --- /dev/null +++ b/krebs/5pkgs/simple/eximlog.nix @@ -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)" + + ' +'' |