Karambolo.Extensions.Logging.File 技术文档

Karambolo.Extensions.Logging.File 技术文档

filelogger A lightweight yet feature-rich file logger implementation for the Microsoft.Extensions.Logging framework. filelogger 项目地址: https://gitcode.com/gh_mirrors/fi/filelogger

概览

本篇文档详细介绍了如何使用 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接口,允许对日志级别、文件路径模板、滚动策略等进行细粒度设置。具体配置选项可在项目配置或代码中通过调用AddFileAddJsonFile方法时传入相关参数来设定。

  • 日志级别过滤:在配置中可以设定不同模块的日志记录级别。
  • 路径模板:支持包含时间戳或其他动态值的日志文件路径。
  • 滚动日志文件:可根据大小或日期自动滚动日志文件。
  • 自定义文本格式:允许用户自定义日志输出的文本格式。

项目安装方式

再次强调,通过NuGet包管理进行安装是推荐的方式:

扫描二维码关注公众号,回复: 17468693 查看本文章
  • 使用基础日志功能:Karambolo.Extensions.Logging.File
  • 使用JSON结构化日志:Karambolo.Extensions.Logging.File.Json

确保在升级至3.x版本前,详细阅读更新日志以了解重大变更,以便顺利迁移现有配置。

遵循以上步骤,您将能够充分利用 Karambolo.Extensions.Logging.File 提供的强大日志功能,为您的应用带来高效且易于维护的日志管理系统。

filelogger A lightweight yet feature-rich file logger implementation for the Microsoft.Extensions.Logging framework. filelogger 项目地址: https://gitcode.com/gh_mirrors/fi/filelogger

猜你喜欢

转载自blog.csdn.net/gitblog_01218/article/details/143048861