You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lnav/src/scripts/journald-url-handler.lnav

36 lines
798 B
Plaintext

#
# @synopsis: journald-url-handler
# @description: Internal script to handle opening journald URLs
#
;SELECT
jget(url, '/scheme') AS jscheme,
jget(url, '/host') AS jhost,
jget(url, '/parameters') as jparams
FROM (SELECT parse_url($1) AS url)
;SELECT
printf(':sh journalctl --output=json -f %s %s # %s',
CASE $jhost
WHEN 'localhost' THEN
''
ELSE
'-m ' || $jhost
END,
(SELECT group_concat(
CASE length(key)
WHEN 1 THEN
'-'
ELSE
'--'
END ||
key ||
'=' || value,
' ')
FROM json_each($jparams)
),
parse_url($1)
) AS cmds
:eval ${cmds}