diff options
Diffstat (limited to 'src/log.c')
-rw-r--r-- | src/log.c | 187 |
1 files changed, 93 insertions, 94 deletions
@@ -1,4 +1,4 @@ -/* $Id: log.c,v 1.30 2005-07-12 17:39:44 rjkaes Exp $ +/* $Id: log.c,v 1.31 2005-08-15 03:54:31 rjkaes Exp $ * * Logs the various messages which tinyproxy produces to either a log file or * the syslog daemon. Not much to it... @@ -25,15 +25,15 @@ #include "vector.h" static char *syslog_level[] = { - NULL, - NULL, - "CRITICAL", - "ERROR", - "WARNING", - "NOTICE", - "INFO", - "DEBUG", - "CONNECT" + NULL, + NULL, + "CRITICAL", + "ERROR", + "WARNING", + "NOTICE", + "INFO", + "DEBUG", + "CONNECT" }; #define TIME_LENGTH 16 @@ -61,10 +61,10 @@ static vector_t log_message_storage; * Open the log file and store the file descriptor in a global location. */ int -open_log_file(const char* log_file_name) +open_log_file(const char *log_file_name) { - log_file_fd = create_file_safely(log_file_name, FALSE); - return log_file_fd; + log_file_fd = create_file_safely(log_file_name, FALSE); + return log_file_fd; } /* @@ -73,7 +73,7 @@ open_log_file(const char* log_file_name) void close_log_file(void) { - close(log_file_fd); + close(log_file_fd); } /* @@ -82,8 +82,8 @@ close_log_file(void) void truncate_log_file(void) { - lseek(log_file_fd, 0, SEEK_SET); - ftruncate(log_file_fd, 0); + lseek(log_file_fd, 0, SEEK_SET); + ftruncate(log_file_fd, 0); } /* @@ -92,7 +92,7 @@ truncate_log_file(void) void set_log_level(int level) { - log_level = level; + log_level = level; } /* @@ -101,92 +101,91 @@ set_log_level(int level) void log_message(int level, char *fmt, ...) { - va_list args; - time_t nowtime; + va_list args; + time_t nowtime; - char time_string[TIME_LENGTH]; - char str[STRING_LENGTH]; + char time_string[TIME_LENGTH]; + char str[STRING_LENGTH]; #ifdef NDEBUG - /* - * Figure out if we should write the message or not. - */ - if (log_level == LOG_CONN) { - if (level == LOG_INFO) - return; - } else if (log_level == LOG_INFO) { - if (level > LOG_INFO && level != LOG_CONN) - return; - } else if (level > log_level) - return; + /* + * Figure out if we should write the message or not. + */ + if (log_level == LOG_CONN) { + if (level == LOG_INFO) + return; + } else if (log_level == LOG_INFO) { + if (level > LOG_INFO && level != LOG_CONN) + return; + } else if (level > log_level) + return; #endif #ifdef HAVE_SYSLOG_H - if (config.syslog && level == LOG_CONN) - level = LOG_INFO; + if (config.syslog && level == LOG_CONN) + level = LOG_INFO; #endif - va_start(args, fmt); + va_start(args, fmt); - /* - * If the config file hasn't been processed, then we need to store - * the messages for later processing. - */ - if (!processed_config_file) { - char* entry_buffer; + /* + * If the config file hasn't been processed, then we need to store + * the messages for later processing. + */ + if (!processed_config_file) { + char *entry_buffer; - if (!log_message_storage) { - log_message_storage = vector_create(); - if (!log_message_storage) - return; - } + if (!log_message_storage) { + log_message_storage = vector_create(); + if (!log_message_storage) + return; + } - vsnprintf(str, STRING_LENGTH, fmt, args); + vsnprintf(str, STRING_LENGTH, fmt, args); - entry_buffer = safemalloc(strlen(str) + 6); - if (!entry_buffer) - return; - - sprintf(entry_buffer, "%d %s", level, str); - vector_append(log_message_storage, entry_buffer, - strlen(entry_buffer) + 1); + entry_buffer = safemalloc(strlen(str) + 6); + if (!entry_buffer) + return; - va_end(args); + sprintf(entry_buffer, "%d %s", level, str); + vector_append(log_message_storage, entry_buffer, + strlen(entry_buffer) + 1); - return; - } + va_end(args); + return; + } #ifdef HAVE_SYSLOG_H - if (config.syslog) { + if (config.syslog) { # ifdef HAVE_VSYSLOG_H - vsyslog(level, fmt, args); + vsyslog(level, fmt, args); # else - vsnprintf(str, STRING_LENGTH, fmt, args); - syslog(level, "%s", str); + vsnprintf(str, STRING_LENGTH, fmt, args); + syslog(level, "%s", str); # endif - } else { + } else { #endif - nowtime = time(NULL); - /* Format is month day hour:minute:second (24 time) */ - strftime(time_string, TIME_LENGTH, "%b %d %H:%M:%S", - localtime(&nowtime)); + nowtime = time(NULL); + /* Format is month day hour:minute:second (24 time) */ + strftime(time_string, TIME_LENGTH, "%b %d %H:%M:%S", + localtime(&nowtime)); - snprintf(str, STRING_LENGTH, "%-9s %s [%ld]: ", syslog_level[level], - time_string, (long int) getpid()); + snprintf(str, STRING_LENGTH, "%-9s %s [%ld]: ", + syslog_level[level], time_string, (long int)getpid()); - assert(log_file_fd >= 0); + assert(log_file_fd >= 0); - write(log_file_fd, str, strlen(str)); - vsnprintf(str, STRING_LENGTH, fmt, args); - write(log_file_fd, str, strlen(str)); - write(log_file_fd, "\n", 1); + write(log_file_fd, str, strlen(str)); + vsnprintf(str, STRING_LENGTH, fmt, args); + write(log_file_fd, str, strlen(str)); + write(log_file_fd, "\n", 1); fsync(log_file_fd); #ifdef HAVE_SYSLOG_H - } + } #endif - va_end(args); + va_end(args); } /* @@ -195,32 +194,32 @@ log_message(int level, char *fmt, ...) void send_stored_logs(void) { - char *string; - char *ptr; + char *string; + char *ptr; - int level; + int level; - int i; + int i; - for (i = 0; i != vector_length(log_message_storage); ++i) { - string = vector_getentry(log_message_storage, i, NULL); + for (i = 0; i != vector_length(log_message_storage); ++i) { + string = vector_getentry(log_message_storage, i, NULL); - ptr = strchr(string, ' ') + 1; - level = atoi(string); + ptr = strchr(string, ' ') + 1; + level = atoi(string); #ifdef NDEBUG - if (log_level == LOG_CONN && level == LOG_INFO) - continue; - else if (log_level == LOG_INFO) { - if (level > LOG_INFO && level != LOG_CONN) - continue; - } else if (level > log_level) - continue; + if (log_level == LOG_CONN && level == LOG_INFO) + continue; + else if (log_level == LOG_INFO) { + if (level > LOG_INFO && level != LOG_CONN) + continue; + } else if (level > log_level) + continue; #endif - log_message(level, ptr); - } + log_message(level, ptr); + } - vector_delete(log_message_storage); - log_message_storage = NULL; + vector_delete(log_message_storage); + log_message_storage = NULL; } |