feat: 实现日志与调试系统(Debug模块)
- LogLevel: 日志级别枚举 (Verbose, Debug, Info, Warning, Error, Fatal) - LogCategory: 日志分类 (General, Rendering, Physics, Memory, Threading等) - ILogSink: 日志输出接口 - ConsoleLogSink: 控制台输出, 支持Windows颜色 - FileLogSink: 文件日志输出 - FileWriter: 文件写入器 - Logger: 日志管理器, 支持多sink, 分类控制 - Profiler: 性能分析器 - 单元测试覆盖
This commit is contained in:
25
engine/include/XCEngine/Debug/FileLogSink.h
Normal file
25
engine/include/XCEngine/Debug/FileLogSink.h
Normal file
@@ -0,0 +1,25 @@
|
||||
#pragma once
|
||||
|
||||
#include "ILogSink.h"
|
||||
#include "LogEntry.h"
|
||||
#include "../Containers/String.h"
|
||||
#include "../Core/FileWriter.h"
|
||||
|
||||
namespace XCEngine {
|
||||
namespace Debug {
|
||||
|
||||
class FileLogSink : public ILogSink {
|
||||
public:
|
||||
FileLogSink(const Containers::String& filePath);
|
||||
~FileLogSink() override;
|
||||
|
||||
void Log(const LogEntry& entry) override;
|
||||
void Flush() override;
|
||||
|
||||
private:
|
||||
Containers::String m_filePath;
|
||||
Core::FileWriter m_writer;
|
||||
};
|
||||
|
||||
} // namespace Debug
|
||||
} // namespace XCEngine
|
||||
Reference in New Issue
Block a user