bool LogWriter::log(LogLevel l, const char* logformat,...) { MACRO_RET(!checklevel(l), false); char * start = m_buffer; int size = premakestr(start, l); va_list args; va_start(args, logformat); size += vsnprintf(start+size, M_LOG_BUFFSIZE-size, logformat, args); va_end(args); if(m_verbose) fprintf(stderr, "%s", m_buffer); if(fp) write(m_buffer, size); return true; }
bool Log_Writer::log(LogLevel l, char* logformat,...) { MACRO_RET(!checklevel(l), false); int _size; int prestrlen = 0; char * star = m_buffer; prestrlen = premakestr(star, l); star += prestrlen; va_list args; va_start(args, logformat); _size = vsnprintf(star, _LOG_BUFFSIZE - prestrlen, logformat, args); va_end(args); if(NULL == fp) fprintf(stderr, "%s", m_buffer); else _write(m_buffer, prestrlen + _size); return true; }