humanus.cpp/logger.h

37 lines
1.1 KiB
C++

#ifndef HUMANUSlogger_H
#define HUMANUSlogger_H
#include "spdlog/spdlog.h"
#include "spdlog/sinks/stdout_color_sinks.h"
#include "spdlog/sinks/basic_file_sink.h"
#include "spdlog/sinks/rotating_file_sink.h"
#include "spdlog/sinks/daily_file_sink.h"
#include "spdlog/sinks/dist_sink.h"
#include <string>
#include <filesystem>
#include "config.h"
namespace humanus {
// 使用config.h中定义的PROJECT_ROOT
// static const std::filesystem::path PROJECT_ROOT = std::filesystem::current_path();
static spdlog::level::level_enum _print_level = spdlog::level::info;
/**
* @brief 调整日志级别
* @param print_level 控制台输出日志级别
* @param logfile_level 文件记录日志级别
* @param name 日志文件名前缀
* @return 日志记录器实例
*/
extern std::shared_ptr<spdlog::logger> define_log_level(spdlog::level::level_enum print_level = spdlog::level::info,
spdlog::level::level_enum logfile_level = spdlog::level::debug,
std::string name = "");
static std::shared_ptr<spdlog::logger> logger = define_log_level();
} // namespace humanus
#endif