Skip to content
Snippets Groups Projects
Commit 6fde2a0e authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Add a -syslog option for *nix builds to force log output to syslog

for Nelgin
parent 3b6d2af9
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
Pipeline #2603 passed
...@@ -150,6 +150,8 @@ int usage(const char* fname) ...@@ -150,6 +150,8 @@ int usage(const char* fname)
"\n-remove remove NT service" "\n-remove remove NT service"
"\n-enable enable NT service (auto-start during boot)" "\n-enable enable NT service (auto-start during boot)"
"\n-disable disable NT service" "\n-disable disable NT service"
#else
"\n-syslog log to syslog rather than stdout/err"
#endif #endif
"\n" "\n"
,getfname(fname) ,getfname(fname)
...@@ -218,7 +220,7 @@ static int syslog(int level, char *fmt, ...) ...@@ -218,7 +220,7 @@ static int syslog(int level, char *fmt, ...)
/****************************************************************************/ /****************************************************************************/
/****************************************************************************/ /****************************************************************************/
int lputs(int level, const char* str) void lputs(int level, const char* str)
{ {
time_t t; time_t t;
struct tm tm; struct tm tm;
...@@ -236,35 +238,26 @@ int lputs(int level, const char* str) ...@@ -236,35 +238,26 @@ int lputs(int level, const char* str)
#endif #endif
if(level>log_level) if(level>log_level)
return 0; return;
if(daemonize) { if(daemonize) {
#if defined(_WIN32) syslog(level, "%s", str);
return syslog(level,"%s", str); } else {
#else t=time(NULL);
/* syslog() is if(localtime_r(&t,&tm)==NULL)
* void syslog(int priority, const char *message, ...); tstr[0]=0;
*/ else
sprintf(tstr,"%d/%d %02d:%02d:%02d "
,tm.tm_mon+1,tm.tm_mday
,tm.tm_hour,tm.tm_min,tm.tm_sec);
syslog(level,"%s", str); fprintf(level>=LOG_NOTICE ? stdout:stderr, "%s %s\n", tstr, str);
return strlen(str);
#endif
} }
t=time(NULL);
if(localtime_r(&t,&tm)==NULL)
tstr[0]=0;
else
sprintf(tstr,"%d/%d %02d:%02d:%02d "
,tm.tm_mon+1,tm.tm_mday
,tm.tm_hour,tm.tm_min,tm.tm_sec);
return fprintf(level>=LOG_NOTICE ? stdout:stderr, "%s %s\n", tstr, str);
} }
/****************************************************************************/ /****************************************************************************/
/****************************************************************************/ /****************************************************************************/
int lprintf(int level, char *fmt, ...) void lprintf(int level, char *fmt, ...)
{ {
va_list argptr; va_list argptr;
char sbuf[1024]; char sbuf[1024];
...@@ -273,7 +266,7 @@ int lprintf(int level, char *fmt, ...) ...@@ -273,7 +266,7 @@ int lprintf(int level, char *fmt, ...)
vsnprintf(sbuf,sizeof(sbuf),fmt,argptr); vsnprintf(sbuf,sizeof(sbuf),fmt,argptr);
sbuf[sizeof(sbuf)-1]=0; sbuf[sizeof(sbuf)-1]=0;
va_end(argptr); va_end(argptr);
return(lputs(level,sbuf)); lputs(level,sbuf);
} }
...@@ -1664,6 +1657,9 @@ int main(int argc, char** argv) ...@@ -1664,6 +1657,9 @@ int main(int argc, char** argv)
return enable(FALSE); return enable(FALSE);
else if(stricmp(arg,"enable")==0) else if(stricmp(arg,"enable")==0)
return enable(TRUE); return enable(TRUE);
#else
else if(stricmp(arg,"syslog")==0)
daemonize=TRUE;
#endif #endif
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment