void Log::outOtherFile(const char *key, bool isDb, LogTypes logdbtype, FILE *pfile, const char *str, ...) { if (!str) return; // TODO: support accountid if (m_enableLogDB && isDb) { va_list ap2; va_start(ap2, str); char nnew_str[MAX_QUERY_LEN]; vsnprintf(nnew_str, MAX_QUERY_LEN, str, ap2); outDB(logdbtype, nnew_str); va_end(ap2); } if (pfile) { outTimestamp(pfile); fprintf(pfile, key, ""); va_list ap; va_start(ap, str); vfprintf(pfile, str, ap); fprintf(pfile, "\n" ); va_end(ap); fflush(pfile); } }
void Log::outRemote(const char * str, ...) { if(!str) return; if(m_enableLogDB && m_dbRA) { va_list ap2; va_start(ap2, str); char nnew_str[MAX_QUERY_LEN]; vsnprintf(nnew_str, MAX_QUERY_LEN, str, ap2); outDB(LOG_TYPE_RA, nnew_str); va_end(ap2); } if(raLogfile) { outTimestamp(raLogfile); va_list ap; va_start(ap, str); vfprintf(raLogfile, str, ap); fprintf(raLogfile, "\n" ); va_end(ap); fflush(raLogfile); } }
void Log::OutCharacters(const char * str, ...) { if (!str) return; if (m_enableLogDB && m_dbChar) { va_list ap2; va_start(ap2, str); char nnew_str[MAX_QUERY_LEN]; vsnprintf(nnew_str, MAX_QUERY_LEN, str, ap2); outDB(LOG_TYPE_CHAR, nnew_str); va_end(ap2); } if (charLogfile) { outTimestamp(charLogfile); va_list ap; va_start(ap, str); vfprintf(charLogfile, str, ap); fprintf(charLogfile, "\n" ); va_end(ap); fflush(charLogfile); } }
void Log::outDebug(DebugLogFilters f, const char * str, ...) { if(!(m_DebugLogMask & f)) return; if(!str) return; if(m_enableLogDB && m_dbLogLevel > LOGL_DETAIL) { va_list ap2; va_start(ap2, str); char nnew_str[MAX_QUERY_LEN]; vsnprintf(nnew_str, MAX_QUERY_LEN, str, ap2); outDB(LOG_TYPE_DEBUG, nnew_str); va_end(ap2); } if( m_logLevel > LOGL_DETAIL ) { if(m_colored) SetColor(true, m_colors[LOGL_DEBUG]); va_list ap; va_start(ap, str); vutf8printf(stdout, str, &ap); va_end(ap); if(m_colored) ResetColor(true); printf( "\n" ); if(logfile) { outTimestamp(logfile); va_list ap; va_start(ap, str); vfprintf(logfile, str, ap); va_end(ap); fprintf(logfile, "\n" ); fflush(logfile); } } fflush(stdout); }
void Log::outString(const char * str, ...) { if(!str) return; if(m_enableLogDB) { // we don't want empty strings in the DB std::string s(str); if(s.empty() || s == " ") return; va_list ap2; va_start(ap2, str); char nnew_str[MAX_QUERY_LEN]; vsnprintf(nnew_str, MAX_QUERY_LEN, str, ap2); outDB(LOG_TYPE_STRING, nnew_str); va_end(ap2); } if(m_colored) SetColor(true, m_colors[LOGL_NORMAL]); va_list ap; va_start(ap, str); vutf8printf(stdout, str, &ap); va_end(ap); if(m_colored) ResetColor(true); printf("\n"); if(logfile) { outTimestamp(logfile); va_start(ap, str); vfprintf(logfile, str, ap); fprintf(logfile, "\n"); va_end(ap); fflush(logfile); } fflush(stdout); }
void Log::outGmSystem(const char * strlv, const char * str, ...) { if (!str) return; // TODO: support accountid if (m_enableLogDB && m_dbGM) { va_list ap2; va_start(ap2, str); char nnew_str[MAX_QUERY_LEN]; vsnprintf(nnew_str, MAX_QUERY_LEN, str, ap2); outDB(LOG_TYPE_GM, nnew_str); va_end(ap2); } uint32 account = 0; if (m_gmlog_per_account) { if (FILE* per_file = openGmlogPerAccount (account)) { outTimestamp(per_file); fprintf(per_file, strlv, ""); va_list ap; va_start(ap, str); vfprintf(per_file, str, ap); fprintf(per_file, "\n" ); va_end(ap); fclose(per_file); } } else if (gmLogfile) { outTimestamp(gmLogfile); // fprintf(gmLogfile, strlv, ""); va_list ap; va_start(ap, str); vfprintf(gmLogfile, str, ap); fprintf(gmLogfile, "\n" ); va_end(ap); fflush(gmLogfile); } fflush(stdout); }
void Log::outBasic(const char * str, ...) { if(!str) return; if(m_enableLogDB && m_dbLogLevel > LOGL_NORMAL) { va_list ap2; va_start(ap2, str); char nnew_str[MAX_QUERY_LEN]; vsnprintf(nnew_str, MAX_QUERY_LEN, str, ap2); outDB(LOG_TYPE_BASIC, nnew_str); va_end(ap2); } if(m_logLevel > LOGL_NORMAL) { if(m_colored) SetColor(true, m_colors[LOGL_BASIC]); va_list ap; va_start(ap, str); vutf8printf(stdout, str, &ap); va_end(ap); if(m_colored) ResetColor(true); printf("\n"); if(logfile) { outTimestamp(logfile); va_list ap; va_start(ap, str); vfprintf(logfile, str, ap); fprintf(logfile, "\n" ); va_end(ap); fflush(logfile); } } fflush(stdout); }
void Log::outError(const char * err, ...) { if(!err) return; if(m_enableLogDB) { va_list ap2; va_start(ap2, err); char nnew_str[MAX_QUERY_LEN]; vsnprintf(nnew_str, MAX_QUERY_LEN, err, ap2); outDB(LOG_TYPE_ERROR, nnew_str); va_end(ap2); } if(m_colored) SetColor(false, LRED); va_list ap; va_start(ap, err); vutf8printf(stderr, err, &ap); va_end(ap); if(m_colored) ResetColor(false); fprintf( stderr, "\n"); if(logfile) { outTimestamp(logfile); fprintf(logfile, "ERROR: "); va_start(ap, err); vfprintf(logfile, err, ap); va_end(ap); fprintf(logfile, "\n"); fflush(logfile); } fflush(stderr); }
void Log::outChat(const char * str, ...) { if (!str) return; if (m_enableLogDB && m_dbChat) { va_list ap2; va_start(ap2, str); char nnew_str[MAX_QUERY_LEN]; vsnprintf(nnew_str, MAX_QUERY_LEN, str, ap2); outDB(LOG_TYPE_CHAT, nnew_str); va_end(ap2); } if (m_colored) SetColor(true, m_colors[LOGL_NORMAL]); va_list ap; va_start(ap, str); vfprintf(stdout, str, ap); va_end(ap); if (m_colored) ResetColor(true); printf("\n"); fflush(stdout); if (chatLogfile) { outTimestamp(chatLogfile); va_list ap; va_start(ap, str); vfprintf(chatLogfile, str, ap); fprintf(chatLogfile, "\n" ); fflush(chatLogfile); va_end(ap); } }
void Log::outCrash(const char * err, ...) { if (!err) return; if (m_enableLogDB) { va_list ap2; va_start(ap2, err); char nnew_str[MAX_QUERY_LEN]; vsnprintf(nnew_str, MAX_QUERY_LEN, err, ap2); outDB(LOG_TYPE_CRASH, nnew_str); va_end(ap2); } if (m_colored) SetColor(false,LRED); UTF8PRINTF(stderr,err,); if (m_colored) ResetColor(false); fprintf(stderr, "\n"); if (logfile) { outTimestamp(logfile); fprintf(logfile, "CRASH ALERT: "); va_list ap; va_start(ap, err); vfprintf(logfile, err, ap); va_end(ap); fprintf(logfile, "\n"); fflush(logfile); } fflush(stderr); }
void Log::outCommand(uint32 account, const char * str, ...) { if(!str) return; // TODO: support accountid if(m_enableLogDB && m_dbGM) { va_list ap2; va_start(ap2, str); char nnew_str[MAX_QUERY_LEN]; vsnprintf(nnew_str, MAX_QUERY_LEN, str, ap2); outDB(LOG_TYPE_GM, nnew_str); va_end(ap2); } if(m_logLevel > LOGL_NORMAL) { if(m_colored) SetColor(true, m_colors[LOGL_BASIC]); va_list ap; va_start(ap, str); vutf8printf(stdout, str, &ap); va_end(ap); if(m_colored) ResetColor(true); printf("\n"); if(logfile) { outTimestamp(logfile); va_list ap; va_start(ap, str); vfprintf(logfile, str, ap); fprintf(logfile, "\n" ); va_end(ap); fflush(logfile); } } if(m_gmlog_per_account) { if(FILE* per_file = openGmlogPerAccount (account)) { outTimestamp(per_file); va_list ap; va_start(ap, str); vfprintf(per_file, str, ap); fprintf(per_file, "\n" ); va_end(ap); fclose(per_file); } } else if(gmLogfile) { outTimestamp(gmLogfile); va_list ap; va_start(ap, str); vfprintf(gmLogfile, str, ap); fprintf(gmLogfile, "\n" ); va_end(ap); fflush(gmLogfile); } fflush(stdout); }