add -D rsyslogd option to enable config parser debug mode

This commit is contained in:
Rainer Gerhards 2012-10-27 14:41:56 +02:00
parent 86faa4ece6
commit 0d762b7509
3 changed files with 14 additions and 1 deletions

View File

@ -1,5 +1,6 @@
----------------------------------------------------------------------------
Version 7.2.1 [v7-stable] 2012-10-??
- added -D rsyslogd option to enable config parser debug mode
- improved syntax error messages by outputting the error token
- the rsyslog core now suspeneds actions after 10 failures in a row
This was former the case after 1,000 failures and could cause rsyslog

View File

@ -10,6 +10,7 @@ rsyslogd \- reliable and extended syslogd
.RB [ " \-6 " ]
.RB [ " \-A " ]
.RB [ " \-d " ]
.RB [ " \-D " ]
.RB [ " \-f "
.I config file
]
@ -124,6 +125,11 @@ This option has been obsoleted and has no function any longer. It is still
accepted in order not to break existing scripts. However, future versions
may not support it.
.TP
.B "\-D"
Runs the Bison config parser in debug mode. This may help when hard to find
syntax errors are reported. Please note that the output generated is deeply
.TP
technical and orignally targeted towards developers.
.B "\-d"
Turns on debug mode. Using this the daemon will not proceed a
.BR fork (2)

View File

@ -93,6 +93,8 @@
#include <zlib.h>
#endif
extern int yydebug; /* interface to flex */
#include <netdb.h>
#include "pidfile.h"
@ -1830,7 +1832,7 @@ int realMain(int argc, char **argv)
* of other options, we do this during the inital option processing.
* rgerhards, 2008-04-04
*/
while((ch = getopt(argc, argv, "46a:Ac:def:g:hi:l:m:M:nN:op:qQr::s:t:T:u:vwx")) != EOF) {
while((ch = getopt(argc, argv, "46a:Ac:dDef:g:hi:l:m:M:nN:op:qQr::s:t:T:u:vwx")) != EOF) {
switch((char)ch) {
case '4':
case '6':
@ -1863,6 +1865,10 @@ int realMain(int argc, char **argv)
case 'd': /* debug - must be handled now, so that debug is active during init! */
debugging_on = 1;
Debug = 1;
yydebug = 1;
break;
case 'D': /* BISON debug */
yydebug = 1;
break;
case 'e': /* log every message (no repeat message supression) */
bEOptionWasGiven = 1;