28 lines
791 B
Markdown
28 lines
791 B
Markdown
# FileLogSink::Log
|
||
|
||
```cpp
|
||
void Log(const LogEntry& entry) override
|
||
```
|
||
|
||
将日志条目追加写入文件。根据 `LogEntry` 的各字段格式化日志行,包括时间戳、级别、分类、消息,并追加到文件末尾。
|
||
|
||
**参数:**
|
||
- `entry` - 日志条目
|
||
|
||
**线程安全:** ❌ 非线程安全,多线程同时调用 Log 可能导致数据竞争
|
||
|
||
**复杂度:** O(m),m 为消息长度
|
||
|
||
**示例:**
|
||
|
||
```cpp
|
||
auto fileSink = std::make_unique<XCEngine::Debug::FileLogSink>("logs/app.log");
|
||
XCEngine::Debug::Logger::Get().AddSink(std::move(fileSink));
|
||
// Log 方法由 Logger 在内部调用
|
||
XCEngine::Debug::Logger::Get().Error(XCEngine::Debug::LogCategory::FileSystem, "File not found");
|
||
```
|
||
|
||
## 相关文档
|
||
|
||
- [FileLogSink 总览](filelogsink.md) - 返回类总览
|