struct rtpp_log_inst * _rtpp_log_open(struct rtpp_cfg_stable *cf, const char *app, const char *call_id) { const char *stritime; const char *tform; char *se; struct rtpp_log_inst *rli; #ifdef RTPP_LOG_ADVANCED int facility; facility = cf->log_facility; if (facility == -1) facility = LOG_DAEMON; if (cf->nodaemon == 0 && syslog_async_opened == 0) { if (syslog_async_init(app, facility) == 0) syslog_async_opened = 1; } #endif rli = rtpp_zmalloc(sizeof(struct rtpp_log_inst)); if (rli == NULL) { return (NULL); } tform = getenv("RTPP_LOG_TFORM"); if (tform != NULL && strcmp(tform, "rel") == 0) { stritime = getenv("RTPP_LOG_TSTART"); if (stritime != NULL) { rli->itime = strtod(stritime, &se); } else { if (iitime == 0.0) { iitime = getdtime(); } rli->itime = iitime; } } if (call_id != NULL) { rli->call_id = strdup(call_id); } if (cf->log_level == -1) { rli->level = (cf->nodaemon != 0) ? RTPP_LOG_DBUG : RTPP_LOG_WARN; } else { rli->level = cf->log_level; } rli->format_se = "%s%s:%s:%s: %s\n"; rli->eformat_se = "%s%s:%s:%s: %s: %s (%d)\n"; rli->format_sl = "%s:%s:%s: %s"; rli->eformat_sl = "%s:%s:%s: %s: %s (%d)"; return (rli); }
struct cfg * _rtpp_log_open(struct cfg *cf, const char *app) { int facility; facility = cf->log_facility; if (facility == -1) facility = LOG_DAEMON; if (cf->nodaemon == 0 && syslog_async_opened == 0) { if (syslog_async_init(app, facility) == 0) syslog_async_opened = 1; } return cf; }