// // Created by sfd on 2025/4/15. // #ifndef LOG_H #define LOG_H #include #include #include class Log { public: static void init(); static std::shared_ptr &GetSysLOG(); static std::shared_ptr &GetGameLOG(); private: static std::shared_ptr sys_logger; static std::shared_ptr game_logger; }; #define SYSLOG_TRACE(format, ...) Log::GetSysLOG()->trace(FMT_STRING("{}" format), ":", ##__VA_ARGS__) #define SYSLOG_DEBUG(format, ...) Log::GetSysLOG()->debug(FMT_STRING("{}" format), ":", ##__VA_ARGS__) #define SYSLOG_INFO(format, ...) Log::GetSysLOG()->info(FMT_STRING("{}" format), ":", ##__VA_ARGS__) #define SYSLOG_WARN(format, ...) Log::GetSysLOG()->warn(FMT_STRING("[{}:{}]:" format), __FILE__, __LINE__, ##__VA_ARGS__) #define SYSLOG_ERROR(format, ...) Log::GetSysLOG()->error(FMT_STRING("[{}:{}]:" format), __FILE__, __LINE__, ##__VA_ARGS__) #define SYSLOG_CRITICAL(format, ...) Log::GetSysLOG()->critical(FMT_STRING("[{}:{}]:" format), __FILE__, __LINE__, ##__VA_ARGS__) #define GAMELOG_TRACE(format, ...) Log::GetGameLOG()->trace(FMT_STRING("{}" format), ":", ##__VA_ARGS__) #define GAMELOG_DEBUG(format, ...) Log::GetGameLOG()->debug(FMT_STRING("{}" format), ":", ##__VA_ARGS__) #define GAMELOG_INFO(format, ...) Log::GetGameLOG()->info(FMT_STRING("{}" format), ":", ##__VA_ARGS__) #define GAMELOG_WARN(format, ...) Log::GetGameLOG()->warn(FMT_STRING("{}" format), ":", ##__VA_ARGS__) #define GAMELOG_ERROR(format, ...) Log::GetGameLOG()->error(FMT_STRING("{}" format), ":", ##__VA_ARGS__) #define GAMELOG_CRITICAL(format, ...) Log::GetGameLOG()->critical(FMT_STRING("{}" format), ":", ##__VA_ARGS__) #endif //LOG_H