void Debug(const DebugEnabler* local, int level, const char* format, ...) { if (!s_debugging) return; const char* facility = 0; if (!local) { if (level > s_debug || level < DebugMin) return; } else { if (!local->debugAt(level)) return; facility = local->debugName(); } if (reentered()) return; if (!format) format = ""; char buf[64]; if (facility) ::snprintf(buf,sizeof(buf),"<%s:%s> ",facility,dbg_level(level)); else ::sprintf(buf,"<%s> ",dbg_level(level)); va_list va; va_start(va,format); ind_mux.lock(); dbg_output(level,buf,format,va); ind_mux.unlock(); va_end(va); if (s_abort && (level == DebugFail)) abort(); }
void Output(const char* format, ...) { char buf[OUT_BUFFER_SIZE]; if (!((s_output || s_intout) && format && *format)) return; if (reentered()) return; va_list va; va_start(va,format); ::vsnprintf(buf,sizeof(buf)-2,format,va); va_end(va); common_output(-1,buf); }
Debugger::Debugger(int level, const char* name, const char* format, ...) : m_name(name), m_level(level) { if (s_debugging && m_name && (s_debug >= level) && !reentered()) { char buf[64]; ::snprintf(buf,sizeof(buf),">>> %s",m_name); va_list va; va_start(va,format); ind_mux.lock(); dbg_output(m_level,buf,format,va); va_end(va); s_indent++; ind_mux.unlock(); } else m_name = 0; }
void Alarm(const DebugEnabler* component, const char* info, int level, const char* format, ...) { if (!format || level < DebugMin || reentered()) return; const char* name = (component && !TelEngine::null(component->debugName())) ? component->debugName() : "unknown"; char buf[64]; ::snprintf(buf,sizeof(buf),"<%s:%s> ",name,dbg_level(level)); va_list va; va_start(va,format); ind_mux.lock(); dbg_output(level,buf,format,va,name,info); ind_mux.unlock(); va_end(va); if (s_abort && (level == DebugFail)) abort(); }
void Alarm(const char* component, int level, const char* format, ...) { if (!format || level < DebugMin || reentered()) return; if (TelEngine::null(component)) component = "unknown"; char buf[64]; ::snprintf(buf,sizeof(buf),"<%s:%s> ",component,dbg_level(level)); va_list va; va_start(va,format); ind_mux.lock(); dbg_output(level,buf,format,va,component); ind_mux.unlock(); va_end(va); if (s_abort && (level == DebugFail)) abort(); }
void Output(const char* format, ...) { char buf[OUT_BUFFER_SIZE]; void (*relay)(int,const char*,const char*,const char*) = s_relay; if (!((s_output || s_intout || relay) && format && *format)) return; if (reentered()) return; va_list va; va_start(va,format); ::vsnprintf(buf,sizeof(buf)-2,format,va); va_end(va); if (relay) relay(-1,buf,0,0); else common_output(-1,buf); }
void Debug(const char* facility, int level, const char* format, ...) { if (!s_debugging) return; if (level > s_debug || level < DebugMin) return; if (reentered()) return; if (!format) format = ""; char buf[64]; ::snprintf(buf,sizeof(buf),"<%s:%s> ",facility,dbg_level(level)); va_list va; va_start(va,format); ind_mux.lock(); dbg_output(level,buf,format,va); ind_mux.unlock(); va_end(va); if (s_abort && (level == DebugFail)) abort(); }
void Debug(int level, const char* format, ...) { if (!s_debugging) return; if (level > s_debug) return; if (reentered()) return; if (!format) format = ""; char buf[32]; ::sprintf(buf,"<%s> ",dbg_level(level)); va_list va; va_start(va,format); ind_mux.lock(); dbg_output(level,buf,format,va); ind_mux.unlock(); va_end(va); if (s_abort && (level == DebugFail)) abort(); }