diff --git a/src/sbbs3/sexyz.c b/src/sbbs3/sexyz.c index d829544338843f7cf94c7a4870bf6c0b97755b0a..2950c8b0cdb33a3096afd83b15092bb0fb917e6d 100644 --- a/src/sbbs3/sexyz.c +++ b/src/sbbs3/sexyz.c @@ -90,6 +90,7 @@ BOOL dszlog_path=TRUE; /* Log complete path to filename */ BOOL dszlog_short=FALSE; /* Log Micros~1 short filename */ BOOL dszlog_quotes=FALSE; /* Quote filenames in DSZLOG */ int log_level=LOG_INFO; +BOOL use_syslog=FALSE; xmodem_t xm; zmodem_t zm; @@ -172,6 +173,11 @@ static int lputs(void* unused, int level, const char* str) if(level>log_level) return 0; +#if defined(__unix__) + if(use_syslog) + return syslog(level,"%s",str); +#endif + if(level<LOG_NOTICE) fp=errfp; @@ -1359,6 +1365,7 @@ int main(int argc, char **argv) pause_on_abend =iniReadBool(fp,ROOT_SECTION,"PauseOnAbend",FALSE); log_level =iniReadLogLevel(fp,ROOT_SECTION,"LogLevel",log_level); + use_syslog =iniReadBool(fp,ROOT_SECTION,"SysLog",use_syslog); outbuf.highwater_mark =iniReadInteger(fp,ROOT_SECTION,"OutbufHighwaterMark",1100); outbuf_drain_timeout =iniReadInteger(fp,ROOT_SECTION,"OutbufDrainTimeout",10); @@ -1507,6 +1514,10 @@ int main(int argc, char **argv) log_level=LOG_DEBUG; continue; } + if(stricmp(arg,"syslog")==0) { + use_syslog=TRUE; + continue; + } if(stricmp(arg,"quotes")==0) { dszlog_quotes=TRUE; continue;