[syslog-ng] Named Log Entries in the Config File

Kenneth Kassing kassing at patton.com
Wed Jan 4 18:05:57 CET 2006


Hello,
I am writing a program to make updates tho the syslog-ng configuration 
file.  To allow for easily adding and removing log entries, I updated 
the parser gramer to allow a name field in the log entry.  The name is 
optional, so old log files will still work.  This name is not used by 
syslog-ng in any way.


Example: Both log entries below are valid with my grammar update.

log {
         source(s_all);
         filter(f_syslog);
         destination(df_syslog);
};

log l_syslog {
         source(s_all);
         filter(f_syslog);
         destination(df_syslog);
};

A patch generated with the following command is attached: "diff -uprN 
src/cfg-grammar.y.org src/cfg-grammar.y > ~/cfg-grammar.y.diff"
-------------- next part --------------
--- src/cfg-grammar.y.org	2006-01-04 11:04:19.000000000 -0500
+++ src/cfg-grammar.y	2006-01-04 11:06:08.000000000 -0500
@@ -113,6 +113,8 @@ LogTemplate *last_template;
 %type	<ptr> source_stmt
 %type	<ptr> dest_stmt
 %type	<ptr> log_stmt
+%type	<ptr> log_stmt_name
+%type	<ptr> log_stmt_noname
 %type	<ptr> options_stmt
 %type	<ptr> template_stmt
 
@@ -202,7 +204,16 @@ dest_stmt
 	;
 
 log_stmt
-        : '{' log_items log_flags '}'		{ $$ = log_connection_new($2, $3); }
+	: log_stmt_noname			{ $$ = $1; }
+	| log_stmt_name				{ $$ = $1; }
+	;
+
+log_stmt_name
+        : string '{' log_items log_flags '}'		{ $$ = make_log_connection($3, $4); }
+	;
+
+log_stmt_noname
+        : '{' log_items log_flags '}'		{ $$ = make_log_connection($2, $3); }
 	;
 
 options_stmt


More information about the syslog-ng mailing list