From 3f6410042b54db636eac390657a8a35583515ce4 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Mon, 6 Apr 2009 21:32:29 -0700 Subject: Rewrite existing syslog configuration update Do most of the work in the rewritten vyatta_update_syslog code. Handle multiple facilities for same target without causing duplicate log messages. Never restart syslog daemon, just reload it and only if the configuration has changed. --- templates/system/syslog/file/node.def | 6 ++++-- templates/system/syslog/file/node.tag/facility/node.def | 9 --------- 2 files changed, 4 insertions(+), 11 deletions(-) (limited to 'templates/system/syslog/file') diff --git a/templates/system/syslog/file/node.def b/templates/system/syslog/file/node.def index 5486c136..2ff7e359 100644 --- a/templates/system/syslog/file/node.def +++ b/templates/system/syslog/file/node.def @@ -1,5 +1,7 @@ tag: type: txt help: Set the name of syslog file to save log messages to -syntax:expression: pattern $VAR(@) "^[-a-zA-Z0-9_.]+$" ; "invalid file name $VAR(@)" -commit:expression: $VAR(./@/facility/@@) != ""; "At least one facility must be configured to log messages to file $VAR(./@)" +syntax:expression: pattern $VAR(@) "^\/" ; "File name must be full pathname with leading /" +commit:expression: $VAR(./@/facility/@@) != ""; \ + "At least one facility must be configured to log messages to file $VAR(./@)" +comp_help: Full path name of log file with leading slash diff --git a/templates/system/syslog/file/node.tag/facility/node.def b/templates/system/syslog/file/node.tag/facility/node.def index b9279085..f793e9b4 100644 --- a/templates/system/syslog/file/node.tag/facility/node.def +++ b/templates/system/syslog/file/node.tag/facility/node.def @@ -2,15 +2,6 @@ tag: type: txt help: Set facility for file logging syntax:expression: $VAR(@) in "auth", "authpriv", "cron", "daemon", "kern", "lpr", "mail", "mark", "news", "security", "syslog", "user", "uucp", "local0", "local1", "local2", "local3", "local4", "local5", "local6", "local7", "all"; "\"$VAR(@)\" is not a valid logging facility" -create:expression: "sudo sh -c \"LVL=`echo -n $VAR(level/@) | tr '[a-z]' '[A-Z]'` && \ -FAC='$VAR(@)' ; if [ x\\$FAC == xall ]; then FAC='*'; fi && \ -/opt/vyatta/sbin/vyatta_update_syslog.pl \\\"\\$FAC\\.\\\" \ - '\\/var\\/log\\/user\\/$VAR(../@)' \ - \\\"\\$FAC.\\$LVL\t/var/log/user/$VAR(../@) \n\\\"\" " -delete:expression: "sudo sh -c \"FAC='$VAR(@)' ; \ -if [ x\\$FAC == xall ]; then FAC='*'; fi && \ -/opt/vyatta/sbin/vyatta_update_syslog.pl \\\"\\$FAC\\.\\\" \ - '\\/var\\/log\\/user\\/$VAR(../@)' ''\" " comp_help:Available logging facilities: all All facilities excluding "mark" auth Authentication and authorization -- cgit v1.2.3