Karambolo.Extensions.Logging.File 技术文档
概览
本篇文档详细介绍了如何使用 Karambolo.Extensions.Logging.File
这一轻量级文件日志记录库,该库基于 .NET Standard 2.0+
实现,并广泛支持包括 .NET Core
和 .NET 5+
在内的各种平台。通过实现 Microsoft.Extensions.Logging.ILoggerProvider
接口,它提供了灵活的日志配置、背景处理日志消息以避免I/O阻塞等特性。
安装指南
要安装此库,执行以下命令之一:
-
核心文件日志记录功能:
dotnet add package Karambolo.Extensions.Logging.File
-
若需要JSON结构化日志记录,请使用:
dotnet add package Karambolo.Extensions.Logging.File.Json
对于非ASP.NET Core应用程序(如.NET Core 3+的控制台应用),确保匹配当前.NET版本添加如下依赖(示例以.NET 7为例):
dotnet add package Microsoft.Extensions.FileProviders.Physical -v 7.0.*
dotnet add package Microsoft.Extensions.Logging.Configuration -v 7.0.*
dotnet add package Microsoft.Extensions.Options.ConfigurationExtensions -v 7.0.*
dotnet add package System.Threading.Channels -v 7.0.*
项目的使用说明
基础配置
对于.NET Core 3, .NET 5及以上版本
-
ASP.NET Core 应用: 直接在配置逻辑中加入以下代码段,以ASP.NET Core 6+的最小托管模式为例:
builder.Logging.AddFile(o => o.RootPath = builder.Environment.ContentRootPath);
-
控制台应用: 配置DI和服务容器时,添加日志服务:
services.AddLogging(builder => builder.AddFile(o => o.RootPath = AppContext.BaseDirectory));
高级配置与使用
对于需要不同配置的日志提供者,可通过自定义提供者类并指定不同的配置节来实现,例如AltFileLoggerProvider
的使用。
项目API使用文档
库提供了高度可定制的API接口,允许对日志级别、文件路径模板、滚动策略等进行细粒度设置。具体配置选项可在项目配置或代码中通过调用AddFile
或AddJsonFile
方法时传入相关参数来设定。
- 日志级别过滤:在配置中可以设定不同模块的日志记录级别。
- 路径模板:支持包含时间戳或其他动态值的日志文件路径。
- 滚动日志文件:可根据大小或日期自动滚动日志文件。
- 自定义文本格式:允许用户自定义日志输出的文本格式。
项目安装方式
再次强调,通过NuGet包管理进行安装是推荐的方式:
扫描二维码关注公众号,回复:
17468693 查看本文章

- 使用基础日志功能:
Karambolo.Extensions.Logging.File
- 使用JSON结构化日志:
Karambolo.Extensions.Logging.File.Json
确保在升级至3.x版本前,详细阅读更新日志以了解重大变更,以便顺利迁移现有配置。
遵循以上步骤,您将能够充分利用 Karambolo.Extensions.Logging.File
提供的强大日志功能,为您的应用带来高效且易于维护的日志管理系统。