# OLogCsharp **Repository Path**: oceansimple/OLogCsharp ## Basic Information - **Project Name**: OLogCsharp - **Description**: ocean 自实现的 c# log库 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-14 - **Last Updated**: 2025-06-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 其他语言版本: [English](README.md), [中文](README_zh.md) # 开始 ## 环境 Olog 需要 c# 版本 `.net 8` 或更高 ## 引用Olog 使用 c# 的 nuget 包管理系统: ```shell dotnet add package oceanSimple.OLog --version 1.0.0 ``` ## 使用Olog 例子: ```csharp using OLog.Builders; var logBuilder = new LogBuilder(); Console.WriteLine(logBuilder.Info("Info test")); Console.WriteLine(logBuilder.Debug("Debug test")); Console.WriteLine(logBuilder.Error("Error test")); Console.WriteLine(logBuilder.Warn("Warn test")); ``` 运行结果如下: ``` [2025-06-11 15:38:33] [INFO] Info test [2025-06-11 15:38:33] [DEBUG] Debug test [2025-06-11 15:38:33] [ERROR] Error test [2025-06-11 15:38:33] [WARN] Warn test ``` # LogBuilder > 在`开始`章节, 我们介绍了`LogBuilder`的基础使用. 接下来我们将介绍`时间格式`功能以及`控制台带颜色输出`功能 ## 时间格式 用户可以使用`SetTimeFormat`方法, 将时间戳设置成需要的格式. 例如: ```csharp using OLog.Builders; var logBuilder = new LogBuilder(); logBuilder.SetTimeFormat("yyyy-MM-dd"); Console.WriteLine(logBuilder.Info("Info test")); Console.WriteLine(logBuilder.Debug("Debug test")); Console.WriteLine(logBuilder.Error("Error test")); Console.WriteLine(logBuilder.Warn("Warn test")); ``` 运行结果如下: ``` [2025-04-14] [INFO] Info test [2025-04-14] [DEBUG] Debug test [2025-04-14] [ERROR] Error test [2025-04-14] [WARN] Warn test ``` ## 控制台颜色输出 如果你想在控制台中打印日志,那么你可以使用`ConsoleLogBuilder`带彩色前缀打印日志。其核心方法与`LogBuilder`相同. # LogFileBuilder 如果你想将日志保存到文件中,那么你可以使用`LogFileBuilder`. ## 示例 ```csharp using OLog.Builders; using OLog.Enums; var logBuilder = new LogFileBuilder(); logBuilder.Info("Info test"); logBuilder.Debug("Debug test"); logBuilder.Error("Error test"); logBuilder.Warn("Warn test"); ``` 然后,你可以在运行的目录中找到目录`log`和日志文件`log.txt`.例如,在这个仓库的测试项目中,你可以在`OLogCsharp\OLogMain\bin\Debug\net8.0\ log\log.txt`找到日志文件 ## 配置 您可以根据需求修改默认配置: - Strategy:日志持久化策略。下一章会详细介绍。 - CacheLength:日志内存缓存长度。 - FilePath:日志文件名。 - LogBuilder:设置一个实现接口`ILogBuilder`的LogBuilder 示例如下: ```csharp var logBuilder = new LogFileBuilder() .SetStrategy(EStrategy.Always) .SetCacheLength(20) .SetFilePath("log.txt") .SetLogBuilder(new LogBuilder()); ``` ## 日志持久化策略 我们在EStrategy中支持3种策略。 - Always:将每个日志直接写入文件。 - EveryN:将在内存缓存中保存日志。当缓存内容 > N时,将所有日志刷新到文件中。 - Never:将所有日志保存在内存缓存中。只有当使用`Flush`方法时,才会将日志写入文件。