Files
XCEngine/docs/api/debug/logger/logger.md

2.4 KiB
Raw Blame History

Logger

命名空间: XCEngine::Debug

类型: class (singleton)

头文件: XCEngine/Debug/Logger.h

描述: 日志系统,提供分级日志记录功能

概述

Logger 是 XCEngine 的核心日志系统采用单例模式设计。它提供多级别Verbose、Debug、Info、Warning、Error、Fatal和多分类General、Rendering、Physics 等的日志记录功能支持自定义日志输出槽Sink

Logger 支持多个 Sink 组件,每个 Sink 可以将日志输出到不同的目的地(如文件、控制台、远程服务器等)。系统还提供宏定义 XE_LOGXE_ASSERT 方便快速记录日志。

公共方法

方法 描述
Get 获取 Logger 单例实例
Initialize 初始化日志系统
Shutdown 关闭日志系统
AddSink 添加日志输出槽
RemoveSink 移除日志输出槽
Log 通用日志记录方法
Verbose 记录 Verbose 级别日志
Debug 记录 Debug 级别日志
Info 记录 Info 级别日志
Warning 记录 Warning 级别日志
Error 记录 Error 级别日志
Fatal 记录 Fatal 级别日志
SetMinimumLevel 设置最低日志级别
SetCategoryEnabled 设置分类日志开关

使用示例

#include "XCEngine/Debug/Logger.h"
#include "XCEngine/Debug/ConsoleSink.h"

using namespace XCEngine::Debug;

// 获取单例
Logger& logger = Logger::Get();

// 初始化
logger.Initialize();

// 添加控制台输出Sink
logger.AddSink(std::make_unique<ConsoleSink>());

// 使用便捷方法记录日志
logger.Info(LogCategory::General, "Application started");
logger.Warning(LogCategory::Rendering, "Low memory warning");
logger.Error(LogCategory::Network, "Connection failed");

// 使用宏记录日志(自动包含文件、行号、函数信息)
XE_LOG(LogCategory::General, LogLevel::Info, "User logged in");

// 设置最低日志级别
logger.SetMinimumLevel(LogLevel::Warning);  // 只记录 Warning 及以上

// 关闭
logger.Shutdown();

相关文档