#!/usr/bin/perl # Show a log file require './syslog-ng-lib.pl'; &ReadParse(); &foreign_require("proc", "proc-lib.pl"); # Work out the file $conf = &get_config(); if ($in{'dest'}) { # From a destination @dests = &find("destination", $conf); ($dest) = grep { $_->{'value'} eq $in{'dest'} } @dests; $dest || &error($text{'destination_egone'}); $file = &find_value("file", $dest->{'members'}); } elsif ($in{'omod'}) { # From another module @others = &get_other_module_logs($in{'omod'}); ($other) = grep { $_->{'mindex'} == $in{'oidx'} } @others; if ($other->{'file'}) { $file = $other->{'file'}; } else { $cmd = $other->{'cmd'}; } } print "Refresh: $config{'refresh'}\r\n" if ($config{'refresh'}); &ui_print_header("<tt>".($file || $cmd)."</tt>", $text{'view_title'}, ""); $lines = $in{'lines'} ? int($in{'lines'}) : int($config{'lines'}); $filter = $in{'filter'} ? quotemeta($in{'filter'}) : ""; &filter_form(); $| = 1; print "<pre>"; local $tailcmd = $config{'tail_cmd'} || "tail -n LINES"; $tailcmd =~ s/LINES/$lines/g; if ($filter ne "") { # Are we supposed to filter anything? Then use grep. local @cats; if ($cmd) { push(@cats, $cmd); } elsif ($config{'compressed'}) { # All compressed versions foreach $l (&all_log_files($file)) { $c = &catter_command($l); push(@cats, $c) if ($c); } } else { # Just the one log @cats = ( "cat ".quotemeta($file) ); } $cat = "(".join(" ; ", @cats).")"; $got = &foreign_call("proc", "safe_process_exec", "$cat | grep -i $filter | $tailcmd", 0, 0, STDOUT, undef, 1, 0, undef, 1); } else { # Not filtering .. so cat the most recent non-empty file if ($cmd) { # Getting output from a command $fullcmd = $cmd." | ".$tailcmd; } elsif ($config{'compressed'}) { # Find the first non-empty file, newest first $catter = "cat ".quotemeta($file); if (!-s $file) { foreach $l (&all_log_files($file)) { next if (!-s $l); $c = &catter_command($l); if ($c) { $catter = $c; last; } } } $fullcmd = $catter." | ".$tailcmd; } else { # Just run tail on the file $fullcmd = $tailcmd." ".quotemeta($file); } $got = &foreign_call("proc", "safe_process_exec", $fullcmd, 0, 0, STDOUT, undef, 1, 0, undef, 1); } print "<i>$text{'view_empty'}</i>\n" if (!$got); print "</pre>\n"; &filter_form(); &ui_print_footer("list_destinations.cgi", $text{'destinations_return'}, "", $text{'index_return'}); sub filter_form { print "<form action=view_log.cgi style='margin-left:1em'>\n"; print &ui_hidden("dest", $in{'dest'}),"\n"; print &ui_hidden("oidx", $in{'oidx'}),"\n"; print &ui_hidden("omod", $in{'omod'}),"\n"; print &text('view_header', &ui_textbox("lines", $lines, 3), "<tt>".&html_escape($log->{'file'})."</tt>"),"\n"; print " \n"; print &text('view_filter', &ui_textbox("filter", $in{'filter'}, 25)),"\n"; print " \n"; print "<input type=submit value='$text{'view_refresh'}'></form>\n"; }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 389 B | 0644 |
|
apply.cgi | File | 202 B | 0755 |
|
backup_config.pl | File | 617 B | 0755 |
|
config | File | 190 B | 0644 |
|
config-AlmaLinux-7.0-ALL | File | 188 B | 0644 |
|
config-Amazon-Linux-2-ALL | File | 188 B | 0644 |
|
config-CentOS-Linux-7.0-ALL | File | 190 B | 0644 |
|
config-CentOS-Stream-Linux-8.0-ALL | File | 188 B | 0644 |
|
config-CloudLinux-8.0-ALL | File | 188 B | 0644 |
|
config-Oracle-Linux-8.0-ALL | File | 188 B | 0644 |
|
config-Redhat-Enterprise-Linux-7.0-ALL | File | 188 B | 0644 |
|
config-Rocky-Linux-7.0-ALL | File | 188 B | 0644 |
|
config-Scientific-Linux-7.0-ALL | File | 188 B | 0644 |
|
config-debian-linux | File | 196 B | 0644 |
|
config-freebsd | File | 225 B | 0644 |
|
config-gentoo-linux | File | 211 B | 0644 |
|
config-openSUSE-Linux-15.0-ALL | File | 128 B | 0644 |
|
config-openmamba-linux | File | 186 B | 0644 |
|
config-redhat-linux-12.0-23.0 | File | 196 B | 0644 |
|
config-redhat-linux-24.0-ALL | File | 176 B | 0644 |
|
config-solaris | File | 197 B | 0644 |
|
config-suse-linux | File | 128 B | 0644 |
|
config-syno-linux | File | 122 B | 0644 |
|
config.info | File | 575 B | 0644 |
|
config.info.ca | File | 673 B | 0644 |
|
config.info.de | File | 687 B | 0644 |
|
config.info.hu | File | 0 B | 0644 |
|
config.info.nl | File | 651 B | 0644 |
|
config.info.no | File | 613 B | 0644 |
|
delete_destinations.cgi | File | 710 B | 0755 |
|
delete_filters.cgi | File | 667 B | 0755 |
|
delete_logs.cgi | File | 549 B | 0755 |
|
delete_sources.cgi | File | 667 B | 0755 |
|
edit_destination.cgi | File | 6.76 KB | 0755 |
|
edit_filter.cgi | File | 4.24 KB | 0755 |
|
edit_log.cgi | File | 2.22 KB | 0755 |
|
edit_source.cgi | File | 9.59 KB | 0755 |
|
index.cgi | File | 1.9 KB | 0755 |
|
install_check.pl | File | 419 B | 0755 |
|
list_destinations.cgi | File | 1.88 KB | 0755 |
|
list_filters.cgi | File | 1.1 KB | 0755 |
|
list_logs.cgi | File | 1.23 KB | 0755 |
|
list_options.cgi | File | 5.63 KB | 0755 |
|
list_sources.cgi | File | 1.04 KB | 0755 |
|
log_parser.pl | File | 685 B | 0755 |
|
module.info | File | 148 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 104 B | 0644 |
|
module.info.ar | File | 0 B | 0644 |
|
module.info.ar.auto | File | 152 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 194 B | 0644 |
|
module.info.bg | File | 0 B | 0644 |
|
module.info.bg.auto | File | 249 B | 0644 |
|
module.info.ca | File | 130 B | 0644 |
|
module.info.cs | File | 0 B | 0644 |
|
module.info.cs.auto | File | 131 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 104 B | 0644 |
|
module.info.de | File | 112 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 225 B | 0644 |
|
module.info.es | File | 0 B | 0644 |
|
module.info.es.auto | File | 123 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 134 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 204 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 120 B | 0644 |
|
module.info.fr | File | 0 B | 0644 |
|
module.info.fr.auto | File | 127 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 151 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 136 B | 0644 |
|
module.info.hu | File | 38 B | 0644 |
|
module.info.hu.auto | File | 97 B | 0644 |
|
module.info.it | File | 0 B | 0644 |
|
module.info.it.auto | File | 127 B | 0644 |
|
module.info.ja | File | 0 B | 0644 |
|
module.info.ja.auto | File | 138 B | 0644 |
|
module.info.ko | File | 0 B | 0644 |
|
module.info.ko.auto | File | 126 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 141 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 125 B | 0644 |
|
module.info.ms | File | 111 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 123 B | 0644 |
|
module.info.nl | File | 23 B | 0644 |
|
module.info.nl.auto | File | 89 B | 0644 |
|
module.info.no | File | 25 B | 0644 |
|
module.info.no.auto | File | 78 B | 0644 |
|
module.info.pl | File | 0 B | 0644 |
|
module.info.pl.auto | File | 112 B | 0644 |
|
module.info.pt | File | 0 B | 0644 |
|
module.info.pt.auto | File | 119 B | 0644 |
|
module.info.pt_BR | File | 0 B | 0644 |
|
module.info.pt_BR.auto | File | 125 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 136 B | 0644 |
|
module.info.ru | File | 0 B | 0644 |
|
module.info.ru.auto | File | 188 B | 0644 |
|
module.info.sk | File | 0 B | 0644 |
|
module.info.sk.auto | File | 133 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 127 B | 0644 |
|
module.info.sv | File | 0 B | 0644 |
|
module.info.sv.auto | File | 107 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 207 B | 0644 |
|
module.info.tr | File | 0 B | 0644 |
|
module.info.tr.auto | File | 136 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 194 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 179 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 160 B | 0644 |
|
module.info.zh | File | 0 B | 0644 |
|
module.info.zh.auto | File | 103 B | 0644 |
|
module.info.zh_TW | File | 0 B | 0644 |
|
module.info.zh_TW.auto | File | 109 B | 0644 |
|
prefs.info | File | 44 B | 0644 |
|
save_destination.cgi | File | 4.99 KB | 0755 |
|
save_filter.cgi | File | 3.64 KB | 0755 |
|
save_log.cgi | File | 1.94 KB | 0755 |
|
save_options.cgi | File | 2.08 KB | 0755 |
|
save_source.cgi | File | 6.11 KB | 0755 |
|
start.cgi | File | 198 B | 0755 |
|
stop.cgi | File | 194 B | 0755 |
|
syslog-ng-lib.pl | File | 20.61 KB | 0755 |
|
view_log.cgi | File | 2.92 KB | 0755 |
|