Files
space_shoot/src/Log.h

42 lines
1.8 KiB
C++

//
// Created by sfd on 2025/4/15.
//
#ifndef LOG_H
#define LOG_H
#include <memory>
#include <spdlog/logger.h>
#include <spdlog/sinks/stdout_color_sinks.h>
class Log {
public:
static void init();
static std::shared_ptr<spdlog::logger> &GetSysLOG();
static std::shared_ptr<spdlog::logger> &GetGameLOG();
private:
static std::shared_ptr<spdlog::logger> sys_logger;
static std::shared_ptr<spdlog::logger> 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