29 lines
1.2 KiB
C
29 lines
1.2 KiB
C
|
#pragma once
|
||
|
|
||
|
#include <string>
|
||
|
#include "spdlog/spdlog.h"
|
||
|
|
||
|
#ifndef SPDLOG_NO_SOURCE_LOC
|
||
|
#undef SPDLOG_LOGGER_CALL
|
||
|
#define SPDLOG_LOGGER_CALL(logger, level, ...) \
|
||
|
(logger)->log(spdlog::source_loc{__FUNCTION__, __LINE__, SPDLOG_FUNCTION}, level, __VA_ARGS__)
|
||
|
#else
|
||
|
# define SPDLOG_LOGGER_CALL(logger, level, ...) (logger)->log(spdlog::source_loc{}, level, __VA_ARGS__)
|
||
|
#endif
|
||
|
|
||
|
class SpdLogger final {
|
||
|
public:
|
||
|
SpdLogger(const std::string& filename, int flush);
|
||
|
~SpdLogger();
|
||
|
};
|
||
|
|
||
|
extern const char* LoggerName;
|
||
|
|
||
|
#define LOG_TRACE(...) SPDLOG_LOGGER_CALL(spdlog::get(LoggerName), spdlog::level::trace, __VA_ARGS__)
|
||
|
#define LOG_DEBUG(...) SPDLOG_LOGGER_CALL(spdlog::get(LoggerName), spdlog::level::debug, __VA_ARGS__)
|
||
|
#define LOG_INFO(...) SPDLOG_LOGGER_CALL(spdlog::get(LoggerName), spdlog::level::info, __VA_ARGS__)
|
||
|
#define LOG_WARN(...) SPDLOG_LOGGER_CALL(spdlog::get(LoggerName), spdlog::level::warn, __VA_ARGS__)
|
||
|
#define LOG_ERROR(...) SPDLOG_LOGGER_CALL(spdlog::get(LoggerName), spdlog::level::err, __VA_ARGS__)
|
||
|
#define LOG_CRITI(...) SPDLOG_LOGGER_CALL(spdlog::get(LoggerName), spdlog::level::critical, __VA_ARGS__)
|
||
|
|