- LogLevel: 日志级别枚举 (Verbose, Debug, Info, Warning, Error, Fatal) - LogCategory: 日志分类 (General, Rendering, Physics, Memory, Threading等) - ILogSink: 日志输出接口 - ConsoleLogSink: 控制台输出, 支持Windows颜色 - FileLogSink: 文件日志输出 - FileWriter: 文件写入器 - Logger: 日志管理器, 支持多sink, 分类控制 - Profiler: 性能分析器 - 单元测试覆盖
30 lines
562 B
C++
30 lines
562 B
C++
#pragma once
|
|
|
|
#include "../Containers/String.h"
|
|
#include <cstdio>
|
|
|
|
namespace XCEngine {
|
|
namespace Core {
|
|
|
|
class FileWriter {
|
|
public:
|
|
FileWriter();
|
|
FileWriter(const char* filePath, bool append = false);
|
|
~FileWriter();
|
|
|
|
bool Open(const char* filePath, bool append = false);
|
|
void Close();
|
|
|
|
bool Write(const char* data, size_t length);
|
|
bool Write(const Containers::String& str);
|
|
bool Flush();
|
|
|
|
bool IsOpen() const { return m_file != nullptr; }
|
|
|
|
private:
|
|
FILE* m_file = nullptr;
|
|
};
|
|
|
|
} // namespace Core
|
|
} // namespace XCEngine
|