// Copyright (C) 2007-2025 EQ2EMulator // Licensed under GPL v3 #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