Upgraded version, added debug logfile

This commit is contained in:
Michiel Broek
2003-09-09 19:39:51 +00:00
parent a4123fc91e
commit ea98670b1e
25 changed files with 173 additions and 77 deletions

View File

@@ -38,6 +38,7 @@ int do_quiet = FALSE; /* Quiet flag */
int show_log = FALSE; /* Show loglines on screen */
int most_debug = FALSE; /* Toggle normal/most debugging */
char progname[21]; /* Program name */
char logdebug[PATH_MAX]; /* Debug logfile */
char logfile[PATH_MAX]; /* Normal logfile */
char errfile[PATH_MAX]; /* Error logfile */
char mgrfile[PATH_MAX]; /* Area/File- mgr logfile */
@@ -100,7 +101,7 @@ char *xstrcat(char *src, char *add)
void InitClient(char *user, char *myname, char *where, char *log, long loggr, char *err, char *mgr)
void InitClient(char *user, char *myname, char *where, char *log, long loggr, char *err, char *mgr, char *debug)
{
if ((getenv("MBSE_ROOT")) == NULL) {
printf("Could not get the MBSE_ROOT environment variable\n");
@@ -113,6 +114,7 @@ void InitClient(char *user, char *myname, char *where, char *log, long loggr, ch
sprintf(logfile, "%s", log);
sprintf(errfile, "%s", err);
sprintf(mgrfile, "%s", mgr);
sprintf(logdebug, "%s", debug);
loggrade = loggr;
sprintf(cpath, "%s/tmp/%s%d", getenv("MBSE_ROOT"), progname, getpid());
@@ -220,12 +222,14 @@ void WriteError(const char *format, ...)
lcrc = tcrc;
if (lcnt) {
lcnt++;
SockS("ALOG:5,%s,%s,%d,?,Last message repeated %d times;", logdebug, progname, mypid, lcnt);
SockS("ALOG:5,%s,%s,%d,?,Last message repeated %d times;", logfile, progname, mypid, lcnt);
SockS("ALOG:5,%s,%s,%d,?,Last message repeated %d times;", errfile, progname, mypid, lcnt);
}
lcnt = 0;
}
SockS("ALOG:5,%s,%s,%d,?,%s;", logdebug, progname, mypid, *outputstr == '$' ? outputstr+1 : outputstr);
SockS("ALOG:5,%s,%s,%d,?,%s;", logfile, progname, mypid, *outputstr == '$' ? outputstr+1 : outputstr);
SockS("ALOG:5,%s,%s,%d,?,%s;", errfile, progname, mypid, *outputstr == '$' ? outputstr+1 : outputstr);
free(outputstr);
@@ -258,9 +262,11 @@ void Syslog(int level, const char *format, ...)
void Syslogp(int level, char *outstr)
{
long mask = 0;
int i, upper;
int i, upper, debug;
debug = isalpha(level);
upper = isupper(level);
switch(tolower(level)) {
case ' ' : mask = DLOG_ALLWAYS; break;
case '?' : mask = DLOG_ERROR; break;
@@ -310,7 +316,9 @@ void Syslogp(int level, char *outstr)
lcrc = tcrc;
if (lcnt) {
lcnt++;
SockS("ALOG:5,%s,%s,%d,%c,Last message repeated %d times;", logfile, progname, mypid, level, lcnt);
SockS("ALOG:5,%s,%s,%d,%c,Last message repeated %d times;", logdebug, progname, mypid, level, lcnt);
if (!debug)
SockS("ALOG:5,%s,%s,%d,%c,Last message repeated %d times;", logfile, progname, mypid, level, lcnt);
}
lcnt = 0;
}
@@ -318,10 +326,15 @@ void Syslogp(int level, char *outstr)
if (show_log)
printf("%c %s\n", level, outstr);
if (*outstr == '$')
SockS("ALOG:5,%s,%s,%d,%c,%s: %s;", logfile, progname, mypid, level, outstr+1, strerror(errno));
else
SockS("ALOG:5,%s,%s,%d,%c,%s;", logfile, progname, mypid, level, outstr);
if (*outstr == '$') {
SockS("ALOG:5,%s,%s,%d,%c,%s: %s;", logdebug, progname, mypid, level, outstr+1, strerror(errno));
if (!debug)
SockS("ALOG:5,%s,%s,%d,%c,%s: %s;", logfile, progname, mypid, level, outstr+1, strerror(errno));
} else {
SockS("ALOG:5,%s,%s,%d,%c,%s;", logdebug, progname, mypid, level, outstr);
if (!debug)
SockS("ALOG:5,%s,%s,%d,%c,%s;", logfile, progname, mypid, level, outstr);
}
}

View File

@@ -60,7 +60,7 @@ extern char SigName[32][16];
char *xmalloc(size_t);
char *xstrcpy(char *);
char *xstrcat(char *, char *);
void InitClient(char *, char *, char *, char *, long, char *, char *);
void InitClient(char *, char *, char *, char *, long, char *, char *, char *);
void ExitClient(int);
void SockS(const char *, ...);
char *SockR(const char *, ...);

View File

@@ -263,7 +263,7 @@ struct taskrec {
int max_tcp; /* maximum TCP/IP calls */
unsigned xipblocks : 1;
unsigned debug : 1; /* debugging on/off */
unsigned xdebug : 1; /* debugging on/off */
};
@@ -804,6 +804,7 @@ struct sysconfig {
unsigned ca_Check : 1; /* Flag for upgrade check */
char rulesdir[65]; /* Area rules directory */
char debuglog[15]; /* Debug logfile */
};