Example #1
0
void
_rtpp_log_ewrite(struct cfg *cf, int level, const char *function, const char *format, ...)
{
    va_list ap;
    char rtpp_log_buff[2048];
    char *fmt;

    if (check_level(cf, cf->log_level, level) == 0)
	return;

    va_start(ap, format);

    if (cf->nodaemon != 0) {
	fmt = "%s:%s: %s: %s\n";
    } else {
	fmt = "%s:%s: %s: %s";
    }

    snprintf(rtpp_log_buff, sizeof(rtpp_log_buff), fmt, strlvl(level),
      function, format, strerror(errno));

    if (cf->nodaemon != 0) {
	vfprintf(stderr, rtpp_log_buff, ap);
    } else {
	vsyslog_async(level, rtpp_log_buff, ap);
    }

    va_end(ap);
}
Example #2
0
void
_rtpp_log_ewrite_va(struct rtpp_log_inst *rli, int level, const char *function,
  const char *format, va_list ap)
{
    char rtpp_log_buff[2048];
    char rtpp_time_buff[32];
    const char *call_id;
#ifdef RTPP_LOG_ADVANCED
    va_list apc;
#endif
    
    if (check_level(rli, level) == 0)
	return;

    if (rli->call_id != NULL) {
        call_id = rli->call_id;
    } else {
        call_id = CALL_ID_NONE;
    }

#ifdef RTPP_LOG_ADVANCED
    if (syslog_async_opened != 0) {
        snprintf(rtpp_log_buff, sizeof(rtpp_log_buff), rli->eformat_sl, strlvl(level),
          call_id, function, format, strerror(errno), errno);
        va_copy(apc, ap);
	vsyslog_async(level, rtpp_log_buff, apc);
        va_end(apc);
#if !defined(RTPP_DEBUG)
	return;
#endif
    }
#endif
    ftime(rli, getdtime(), rtpp_time_buff, sizeof(rtpp_time_buff));
    snprintf(rtpp_log_buff, sizeof(rtpp_log_buff), rli->eformat_se,
      rtpp_time_buff, strlvl(level), call_id, function, format,
      strerror(errno), errno);
    vfprintf(stderr, rtpp_log_buff, ap);
}