# ConsoleLogSink::Log 将一条日志格式化后写到 `stdout`。 ```cpp void Log(const LogEntry& entry) override; ``` ## 行为说明 当前实现分三步处理: 1. 如果 `entry.level < m_minimumLevel`,直接返回。 2. 在 Windows 且启用颜色输出时,根据 `entry.level` 设置控制台颜色。 3. 按 `[LEVEL] [Category] message` 的固定格式调用 `printf` 输出一行文本,并在 Windows 上恢复默认颜色。 它不会输出: - 时间戳 - 文件路径 - 行号 - 函数名 - 线程 ID 如果你需要这些元数据,必须实现自己的 sink,或者扩展当前 sink 的格式化逻辑。 ## 参数 - `entry` - 待输出的日志条目。 ## 返回值 - 无。 ## 线程语义 - sink 自身不加锁。 - 通过 `Logger` 调用时,`Logger` 会在互斥区内串行分发。 ## 示例 ```cpp using namespace XCEngine::Debug; LogEntry entry{}; entry.level = LogLevel::Info; entry.category = LogCategory::General; entry.message = "Hello from ConsoleLogSink"; ConsoleLogSink sink; sink.Log(entry); ``` ## 相关文档 - [返回类型总览](ConsoleLogSink.md) - [Flush](Flush.md) - [SetMinimumLevel](SetMinimumLevel.md)