X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=util%2Flog.c;h=5fa4d5e587b90c744ca08afbcf690f0b554c2826;hb=1121eeb134f61c6c2510143858db59045c1b6757;hp=46412aff0b92aa87a8ae173085d0f17e6726067e;hpb=f576c6403441fc35f85a3e57f9423ff07d052de1;p=yaz-moved-to-github.git diff --git a/util/log.c b/util/log.c index 46412af..5fa4d5e 100644 --- a/util/log.c +++ b/util/log.c @@ -2,7 +2,7 @@ * Copyright (c) 1995-2002, Index Data * See the file LICENSE for details. * - * $Id: log.c,v 1.27 2002-06-18 21:30:39 adam Exp $ + * $Id: log.c,v 1.32 2002-12-05 12:19:24 adam Exp $ */ #if HAVE_CONFIG_H @@ -20,6 +20,7 @@ #include #include #include +#include #include #define HAS_STRERROR 1 @@ -38,6 +39,7 @@ char *strerror(int n) static int l_level = LOG_DEFAULT_LEVEL; static FILE *l_file = NULL; static char l_prefix[512] = ""; +static char l_prefix2[512] = ""; static struct { int mask; @@ -92,6 +94,14 @@ void yaz_log_init_prefix (const char *prefix) *l_prefix = 0; } +void yaz_log_init_prefix2 (const char *prefix) +{ + if (prefix && *prefix) + sprintf(l_prefix2, "%.511s ", prefix); + else + *l_prefix2 = 0; +} + void yaz_log_init(int level, const char *prefix, const char *fname) { yaz_log_init_level (level); @@ -152,31 +162,18 @@ void yaz_log(int level, const char *fmt, ...) /* WIN32 */ if (o_level & LOG_ERRNO) { -#ifdef WIN32 - DWORD err = GetLastError(); - if (err) - { - strcat(buf, " ["); - FormatMessage( - FORMAT_MESSAGE_FROM_SYSTEM, - NULL, - err, - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language - (LPTSTR) buf + strlen(buf), - 2048, - NULL); - strcat(buf, "]"); - } -#else - sprintf(buf + strlen(buf), " [%s]", strerror(errno)); -#endif + strcat(buf, " ["); + yaz_strerror(buf+strlen(buf), 2048); + strcat(buf, "]"); } + va_end (ap); if (start_hook_func) (*start_hook_func)(o_level, buf, start_hook_info); ti = time(0); tim = localtime(&ti); strftime(tbuf, 50, "%H:%M:%S-%d/%m", tim); - fprintf(l_file, "%s: %s%s %s\n", tbuf, l_prefix, flags, buf); + fprintf(l_file, "%s: %s%s %s%s\n", tbuf, l_prefix, flags, + l_prefix2, buf); fflush(l_file); if (end_hook_func) (*end_hook_func)(o_level, buf, end_hook_info);