/* EQ2Emulator: Everquest II Server Emulator Copyright (C) 2007 EQ2EMulator Development Team (http://www.eq2emulator.net) This file is part of EQ2Emulator. EQ2Emulator is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. EQ2Emulator is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with EQ2Emulator. If not, see . */ #ifndef LOG_H_ #define LOG_H_ #include #include "../WorldServer/client.h" #define LOG_BUFFER_SIZE 4096 #define LOG_CATEGORY(category) LOG_ ##category , enum LogCategory { #include "LogTypes.h" NUMBER_OF_LOG_CATEGORIES }; #define LOG_TYPE(category, type, level, color, enabled, logfile, console, client, str) category##__##type , enum LogType { #include "LogTypes.h" NUMBER_OF_LOG_TYPES }; extern const char* log_category_names[NUMBER_OF_LOG_CATEGORIES]; struct LogTypeStatus { int8 level; int color; bool enabled; bool logfile; bool console; bool client; LogCategory category; const char *name; const char *display_name; }; extern LogTypeStatus* log_type_info; void LogStart(); void LogStop(); int8 GetLoggerLevel(LogType type); void LogWrite(LogType type, int8 log_level, const char *cat_text, const char *fmt, ...); #ifdef PARSER void ColorizeLog(int color, char *date, const char *display_name, const char *category, string buffer); #endif bool LogParseConfigs(); #endif