static void ccnet_log (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer user_data) { time_t t; struct tm *tm; char buf[1024]; int len; if (log_level > ccnet_log_level) return; t = time(NULL); tm = localtime(&t); len = strftime (buf, 1024, "[%x %X] ", tm); g_return_if_fail (len < 1024); if (logfp != NULL) { fputs (buf, logfp); fputs (message, logfp); fflush (logfp); } else { // log file not available printf("%s %s", buf, message); } if (enable_syslog) syslog (get_syslog_level (log_level), "%s", message); }
static void __renew_logctx(enum log_level level) { /* FIXME: LOG_UPTO portability */ setlogmask(LOG_UPTO(get_syslog_level(level))); return; }
int vrtpprintf(TURN_LOG_LEVEL level, const char *format, va_list args) { /* Fix for Issue 24, raised by John Selbie: */ #define MAX_RTPPRINTF_BUFFER_SIZE (1024) char s[MAX_RTPPRINTF_BUFFER_SIZE+1]; #undef MAX_RTPPRINTF_BUFFER_SIZE size_t sz; snprintf(s, sizeof(s), "%lu: ",(unsigned long)log_time()); sz=strlen(s); vsnprintf(s+sz, sizeof(s)-1-sz, format, args); s[sizeof(s)-1]=0; if(to_syslog) { syslog(get_syslog_level(level),"%s",s); } else { log_lock(); set_rtpfile(); if(fprintf(_rtpfile,"%s",s)<0) { reset_rtpprintf(); } else if(fflush(_rtpfile)<0) { reset_rtpprintf(); } log_unlock(); } return 0; }
static void __init_logctx(char *peer_name, enum log_level level) { openlog(peer_name, LOG_PID | LOG_CONS, LOG_LOCAL0); /* FIXME: LOG_UPTO portability */ setlogmask(LOG_UPTO(get_syslog_level(level))); return; }
void __xseg_log2(enum log_level level, char *fmt, ...) { va_list ap; va_start(ap, fmt); vsyslog(get_syslog_level(level), fmt, ap); va_end(ap); return; }
void log_message(nyx_t *nyx, log_level_e level, const char *format, ...) { if (!quiet) { va_list vas; va_start(vas, format); if (use_syslog) vsyslog(get_syslog_level(level), format, vas); else { FILE *stream = stdout; /* write to log file in case we are running as a daemon */ if (!nyx->options.no_daemon && !nyx->is_init) { const char *log_file = nyx->options.log_file ? nyx->options.log_file : NYX_DEFAULT_LOG_FILE; stream = fopen(log_file, "a"); /* fallback to stdout */ if (stream == NULL) stream = stdout; } log_format_msg(stream, level, format, vas); if (stream != NULL && stream != stdout) fclose(stream); } va_end(vas); } if (level & NYX_LOG_CRITICAL) abort(); }