GeWuYou 32a1734659 feat(logging): 添加日志系统并集成到框架核心组件
- 实现了完整的日志系统,包括ILog接口和ConsoleLogger实现
- 添加了LogConfig配置类和LoggerFactory工厂类
- 在架构、系统、事件、IOC容器等核心组件中集成了日志记录功能
- 添加了NullLogger和CompositeLogger支持
- 创建了详细的日志使用示例和文档
- 实现了日志级别的分类配置和彩色输出功能
2025-12-23 13:08:52 +08:00

72 lines
2.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace GFramework.Core.logging;
/// <summary>
/// 定义日志记录接口,提供日志记录和级别检查功能
/// </summary>
public interface ILog
{
/// <summary>
/// 记录指定级别的日志消息
/// </summary>
/// <param name="level">日志级别</param>
/// <param name="message">日志消息内容</param>
/// <param name="exception">可选的异常对象默认为null</param>
/// <param name="context">可选的上下文对象默认为null</param>
void Log(
LogLevel level,
string message,
Exception? exception = null,
object? context = null
);
/// <summary>
/// 检查指定日志级别是否启用
/// </summary>
/// <param name="level">要检查的日志级别</param>
/// <returns>如果指定级别已启用则返回true否则返回false</returns>
bool IsEnabled(LogLevel level);
/// <summary>
/// 记录信息级别日志
/// </summary>
/// <param name="msg">日志消息</param>
/// <param name="ctx">日志上下文信息(可选)</param>
void Info(string msg, object? ctx = null);
/// <summary>
/// 记录错误级别日志
/// </summary>
/// <param name="msg">日志消息</param>
/// <param name="ex">相关异常对象(可选)</param>
/// <param name="ctx">日志上下文信息(可选)</param>
void Error(string msg, Exception? ex = null, object? ctx = null);
/// <summary>
/// 记录调试级别日志
/// </summary>
/// <param name="msg">日志消息</param>
/// <param name="ctx">日志上下文信息(可选)</param>
void Debug(string msg, object? ctx = null);
/// <summary>
/// 记录跟踪级别日志
/// </summary>
/// <param name="msg">日志消息</param>
/// <param name="ctx">日志上下文信息(可选)</param>
void Trace(string msg, object? ctx = null);
/// <summary>
/// 记录警告级别日志
/// </summary>
/// <param name="msg">日志消息</param>
/// <param name="ctx">日志上下文信息(可选)</param>
void Warn(string msg, object? ctx = null);
/// <summary>
/// 记录致命错误级别日志
/// </summary>
/// <param name="msg">日志消息</param>
/// <param name="ctx">日志上下文信息(可选)</param>
void Fatal(string msg, object? ctx = null);
}