logf: make urgency patterns configurable

This commit is contained in:
tv 2016-08-04 20:46:11 +02:00
parent a264c571f3
commit 71a25b1875

View File

@ -16,12 +16,15 @@ let
"7" = 139; # debug
"-" = 005; # undefined priority
};
default-urgent = pkgs.writeJSON "logf.default-urgent.json" [
];
in
pkgs.writeDashBin "logf" ''
export LOGF_HOST_COLORS LOGF_PRIO_COLORS
export LOGF_HOST_COLORS LOGF_PRIO_COLORS LOGF_URGENT
LOGF_HOST_COLORS=$(cat "''${LOGF_HOST_COLORS-${default-host-colors}}")
LOGF_PRIO_COLORS=$(cat "''${LOGF_PRIO_COLORS-${default-prio-colors}}")
LOGF_URGENT=$(cat "''${LOGF_URGENT-${default-urgent}}")
printf '%s\0' "$@" \
| ${pkgs.findutils}/bin/xargs -0 -P 0 -n 1 ${pkgs.writeDash "logf-remote" ''
target=$1
@ -44,6 +47,8 @@ pkgs.writeDashBin "logf" ''
| ${pkgs.jq}/bin/jq -Rrf ${pkgs.writeJq "logf-filter.jq" ''
(env.LOGF_HOST_COLORS | fromjson) as $host_colors |
(env.LOGF_PRIO_COLORS | fromjson) as $prio_colors |
(env.LOGF_URGENT | fromjson | map("(\(.))") | join("|"))
as $urgent_regex |
def when(c; f): if c then f else . end;
@ -89,8 +94,7 @@ pkgs.writeDashBin "logf" ''
as $prio_c |
.MESSAGE
| sub("\r$"; "")
| agsub("\\btv@nomic\\b"; "\(.)\u0007" | col(fg(219); $prio_c))
#| agsub("Start queue"; "\(.)\u0007" | col(fg(42); $prio_c))
| agsub($urgent_regex; "\(.)\u0007" | col(fg(219); $prio_c))
| col($prio_c);
try fromjson catch {