docs: update core and debug API docs
This commit is contained in:
@@ -1,21 +1,50 @@
|
||||
# ConsoleLogSink::ConsoleLogSink
|
||||
# ConsoleLogSink
|
||||
|
||||
**命名空间**: `XCEngine::Debug`
|
||||
|
||||
**类型**: `class`
|
||||
|
||||
**头文件**: `XCEngine/Debug/ConsoleLogSink.h`
|
||||
|
||||
**描述**: 控制台日志输出目标,将日志输出到标准输出流。
|
||||
|
||||
## 概述
|
||||
|
||||
`ConsoleLogSink` 是日志系统的控制台输出实现。它将日志条目输出到标准输出流(stdout),支持彩色输出和日志级别过滤。该类继承自 `ILogSink` 接口,可通过 `Logger::AddSink` 添加到日志系统。
|
||||
|
||||
设计用于开发调试场景,默认启用彩色输出便于在终端中区分不同日志级别。
|
||||
|
||||
## 公共方法
|
||||
|
||||
| 方法 | 描述 |
|
||||
|------|------|
|
||||
| [`ConsoleLogSink()`](constructor.md) | 构造函数 |
|
||||
| [`~ConsoleLogSink`](destructor.md) | 析构函数 |
|
||||
| [`Log`](log.md) | 输出日志到控制台 |
|
||||
| [`Flush`](flush.md) | 刷新输出流 |
|
||||
| [`SetColorOutput`](setcoloroutput.md) | 设置彩色输出 |
|
||||
| [`SetMinimumLevel`](setminimumlevel.md) | 设置最小日志级别 |
|
||||
|
||||
## 使用示例
|
||||
|
||||
```cpp
|
||||
ConsoleLogSink()
|
||||
```
|
||||
#include <XCEngine/Debug/ConsoleLogSink.h>
|
||||
|
||||
默认构造函数。创建一个 `ConsoleLogSink` 实例,默认启用彩色输出,最小日志级别为 `Verbose`。
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
auto sink = std::make_unique<XCEngine::Debug::ConsoleLogSink>();
|
||||
sink->SetColorOutput(true);
|
||||
sink->SetMinimumLevel(XCEngine::Debug::LogLevel::Warning);
|
||||
XCEngine::Debug::Logger::Get().AddSink(std::move(sink));
|
||||
```
|
||||
|
||||
## 构造函数详细
|
||||
|
||||
| 属性 | 值 |
|
||||
|------|-----|
|
||||
| 默认 `m_colorOutput` | `true` |
|
||||
| 默认 `m_minimumLevel` | `LogLevel::Verbose` |
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [ConsoleLogSink 总览](overview.md) - 返回类总览
|
||||
- [Debug 模块总览](../debug.md) - 返回模块总览
|
||||
- [Logger](../logger/logger.md) - 日志记录器
|
||||
- [ILogSink](../ilogsink/ilogsink.md) - 日志输出接口
|
||||
|
||||
27
docs/api/debug/consolelogsink/constructor.md
Normal file
27
docs/api/debug/consolelogsink/constructor.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# ConsoleLogSink::ConsoleLogSink
|
||||
|
||||
```cpp
|
||||
ConsoleLogSink()
|
||||
```
|
||||
|
||||
默认构造函数。创建一个 `ConsoleLogSink` 实例。
|
||||
|
||||
**线程安全:** ✅
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**返回值:** 无
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
using namespace XCEngine::Debug;
|
||||
|
||||
auto sink = std::make_unique<ConsoleLogSink>();
|
||||
Logger::Get().AddSink(std::move(sink));
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [ConsoleLogSink 总览](consolelogsink.md) - 返回类总览
|
||||
- [Debug 模块总览](../debug.md) - 返回模块总览
|
||||
@@ -6,8 +6,20 @@
|
||||
|
||||
析构函数。销毁 `ConsoleLogSink` 实例,释放相关资源。
|
||||
|
||||
**线程安全:** ✅
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**返回值:** 无
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
auto sink = std::make_unique<XCEngine::Debug::ConsoleLogSink>();
|
||||
// sink 自动销毁
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [ConsoleLogSink 总览](consolelogsink.md) - 返回类总览
|
||||
- [Debug 模块总览](../debug.md) - 返回模块总览
|
||||
@@ -6,8 +6,12 @@ void Flush() override
|
||||
|
||||
刷新标准输出流(stdout),调用 `fflush(stdout)` 确保所有待输出的日志内容立即显示在控制台上。
|
||||
|
||||
**线程安全:** ❌
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**返回值:** 无
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
|
||||
@@ -4,13 +4,30 @@
|
||||
void Log(const LogEntry& entry) override
|
||||
```
|
||||
|
||||
将日志输出到控制台。根据 `LogEntry` 的级别和分类格式化输出内容,并根据 `m_colorOutput` 设置决定是否使用 Windows 控制台颜色 API。如果日志级别低于设置的最小级别,则不输出。
|
||||
将日志输出到控制台。输出格式为 `[LEVEL] [CATEGORY] message\n`。
|
||||
|
||||
根据 `m_colorOutput` 设置决定是否使用 Windows 控制台颜色 API(仅 `_WIN32` 平台)。各日志级别颜色映射:
|
||||
|
||||
| 级别 | 颜色 |
|
||||
|------|------|
|
||||
| Verbose | 灰色(低亮度) |
|
||||
| Debug | 青色(蓝+绿) |
|
||||
| Info | 绿色 |
|
||||
| Warning | 黄色(红+绿) |
|
||||
| Error | 红色(高亮度) |
|
||||
| Fatal | 洋红色(红+蓝+高亮度) |
|
||||
|
||||
如果日志级别低于设置的最小级别,则不输出。
|
||||
|
||||
**参数:**
|
||||
- `entry` - 日志条目
|
||||
- `entry` - 日志条目(参见 [LogEntry](../logentry/logentry.md))
|
||||
|
||||
**线程安全:** ❌
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**返回值:** 无
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
# ConsoleLogSink
|
||||
|
||||
**命名空间**: `XCEngine::Debug`
|
||||
|
||||
**类型**: `class`
|
||||
|
||||
**头文件**: `XCEngine/Debug/ConsoleLogSink.h`
|
||||
|
||||
**描述**: 控制台日志输出目标,将日志输出到标准输出流。
|
||||
|
||||
## 概述
|
||||
|
||||
`ConsoleLogSink` 是日志系统的控制台输出实现。它将日志条目输出到标准输出流(stdout),支持彩色输出和日志级别过滤。
|
||||
|
||||
## 公共方法
|
||||
|
||||
| 方法 | 描述 |
|
||||
|------|------|
|
||||
| `ConsoleLogSink()` | [构造函数](consolelogsink.md) |
|
||||
| `~ConsoleLogSink()` | [析构函数](~consolelogsink.md) |
|
||||
| `void Log(const LogEntry& entry)` | [输出日志到控制台](log.md) |
|
||||
| `void Flush()` | [刷新输出流](flush.md) |
|
||||
| `void SetColorOutput(bool enable)` | [设置彩色输出](setcoloroutput.md) |
|
||||
| `void SetMinimumLevel(LogLevel level)` | [设置最小日志级别](setminimumlevel.md) |
|
||||
|
||||
## 使用示例
|
||||
|
||||
```cpp
|
||||
#include <XCEngine/Debug/ConsoleLogSink.h>
|
||||
|
||||
auto sink = std::make_unique<XCEngine::Debug::ConsoleLogSink>();
|
||||
sink->SetColorOutput(true);
|
||||
sink->SetMinimumLevel(XCEngine::Debug::LogLevel::Warning);
|
||||
XCEngine::Debug::Logger::Get().AddSink(std::move(sink));
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [Debug 模块总览](../debug.md) - 返回模块总览
|
||||
- [Logger](../logger/logger.md) - 日志记录器
|
||||
- [ILogSink](../ilogsink/ilogsink.md) - 日志输出接口
|
||||
@@ -4,13 +4,17 @@
|
||||
void SetColorOutput(bool enable)
|
||||
```
|
||||
|
||||
启用或禁用控制台彩色输出。启用后,不同日志级别使用 Windows 控制台颜色 API 输出,便于快速区分日志类型。
|
||||
启用或禁用控制台彩色输出。启用后,不同日志级别使用 Windows 控制台颜色 API 输出(仅 `_WIN32` 平台有效,其他平台此设置无效果),便于快速区分日志类型。
|
||||
|
||||
**参数:**
|
||||
- `enable` - true 启用彩色输出,false 禁用
|
||||
|
||||
**线程安全:** ❌
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**返回值:** 无
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
|
||||
@@ -4,13 +4,17 @@
|
||||
void SetMinimumLevel(LogLevel level)
|
||||
```
|
||||
|
||||
设置该 Sink 的最小输出级别。此设置仅影响当前 Sink,不会影响 Logger 的全局级别过滤。
|
||||
设置该 Sink 的最小输出级别。此设置仅影响当前 Sink,不会影响 Logger 的全局级别过滤。默认值为 `LogLevel::Verbose`,即输出所有级别。
|
||||
|
||||
**参数:**
|
||||
- `level` - 最小日志级别
|
||||
|
||||
**线程安全:** ❌
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**返回值:** 无
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
|
||||
Reference in New Issue
Block a user