X-Git-Url: http://the.earth.li/gitweb/?p=onak.git;a=blobdiff_plain;f=log.c;h=7c6f2eeee5312e3e6e5dfd21fc4b976db5d2bc15;hp=1c9f13960f46b752a5b644c4475ac0f6e24a580f;hb=97be85bfba76b9ed0aa6ad01afc7c6efc4b370d5;hpb=501b09dd94d46430a2463ac5fba7608b0be59005 diff --git a/log.c b/log.c index 1c9f139..7c6f2ee 100644 --- a/log.c +++ b/log.c @@ -1,9 +1,19 @@ /* * log.c - Simple logging framework. * - * Jonathan McDowell + * Copyright 2003 Jonathan McDowell * - * Copyright 2003 Project Purple + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . */ #include @@ -22,7 +32,7 @@ * logs - if we're asked to log something below this level we won't output * it. */ -static loglevels logthres = LOGTHING_DEBUG; +static loglevels logthres = LOGTHING_NOTICE; /* * logappname - the name of the application using us. @@ -100,6 +110,17 @@ loglevels setlogthreshold(loglevels loglevel) return oldlevel; } +/* + * getlogthreshold - get the threshold for log output + * + * Returns the threshold for log output; anything logged with a log level + * lower than this will be silently dropped. + */ +loglevels getlogthreshold(void) +{ + return logthres; +} + /* * vflog - write a log entry to an already opened log file. * @logfile: The FILE * handle of the open log file. @@ -112,19 +133,19 @@ loglevels setlogthreshold(loglevels loglevel) */ static void vflog(FILE *logfile, const char *format, va_list ap) { - struct tm *timestamp = NULL; - time_t timer = 0; + struct tm timestamp; + time_t timer = 0; timer = time(NULL); - timestamp = localtime(&timer); + localtime_r(&timer, ×tamp); fprintf(logfile, "[%02d/%02d/%4d %02d:%02d:%02d] %s[%d]: ", - timestamp->tm_mday, - timestamp->tm_mon + 1, - timestamp->tm_year + 1900, - timestamp->tm_hour, - timestamp->tm_min, - timestamp->tm_sec, + timestamp.tm_mday, + timestamp.tm_mon + 1, + timestamp.tm_year + 1900, + timestamp.tm_hour, + timestamp.tm_min, + timestamp.tm_sec, (logappname == NULL) ? "" : logappname, getpid()); vfprintf(logfile, format, ap);