int lprintf(int loglevel, const char *format, ...)
{
va_list ap;
- char buf[32768];
-
- va_start(ap, format);
- vsprintf(buf, format, ap);
- va_end(ap);
if (loglevel <= verbosity) {
- struct timeval tv;
- struct tm *tim;
- int sess = 0;
-
- gettimeofday(&tv, NULL);
- tim = localtime((time_t *)&(tv.tv_sec));
-
- if (WC) if (WC->wc_session) sess = 1;
- if (sess) {
- fprintf(stderr,
- "%04d/%02d/%02d %2d:%02d:%02d.%03ld [%ld:%d] %s",
- tim->tm_year + 1900, tim->tm_mon + 1,
- tim->tm_mday, tim->tm_hour, tim->tm_min,
- tim->tm_sec, (long)tv.tv_usec / 1000,
- (long)pthread_self(),
- WC->wc_session, buf);
- } else {
- fprintf(stderr,
- "%04d/%02d/%02d %2d:%02d:%02d.%03ld [%ld] %s",
- tim->tm_year + 1900, tim->tm_mon + 1,
- tim->tm_mday, tim->tm_hour, tim->tm_min,
- tim->tm_sec, (long)tv.tv_usec / 1000,
- (long)pthread_self(),
- buf);
- }
+ va_start(ap, format);
+ vfprintf(stderr, format, ap);
+ va_end(ap);
fflush(stderr);
}
return 1;