介绍
log4net 是一个开源的日志记录库,专为 .NET 应用程序设计。它提供了一种灵活和可扩展的方式来记录应用程序中的日志信息,支持多种输出目标(如控制台、文件、数据库等)。
特性
- 多种日志级别:支持不同的日志级别,如 DEBUG、INFO、WARN、ERROR 和 FATAL,便于根据重要性过滤日志信息。
- 灵活的配置:通过 XML 配置文件或代码进行配置,方便集成和修改。
- 多种输出目标:支持将日志输出到多种目标(称为“appender”),包括文件、数据库、网络、控制台等。
- 异步日志记录:支持异步记录日志,提高应用程序性能。
- 日志格式化:可以自定义日志的格式,使其更易读。
安装
使用 NuGet 安装 log4net
配置
log4net.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<datePattern value="yyyyMMdd\\'hrv-cfdd-client_'hh'.log'" />
<encoding value="utf-8" />
<file value="logs/" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<staticLogFileName value="false" />
<param name="MaxSizeRollBackups" value="100" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date] [%thread] [%-5level] [%logger] [%line] : %message%newline" />
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date] [%thread] [%-5level] [%logger] [%line] : %message%newline" />
</layout>
</appender>
<root>
<level value="All" />
<appender-ref ref="RollingLogFileAppender" />
<appender-ref ref="ConsoleAppender" />
</root>
</log4net>
</configuration>
使用
using System;
using log4net;
using log4net.Config;
class Program
{
// 创建日志记录器
private static readonly ILog log = LogManager.GetLogger(typeof(Program));
static void Main(string[] args)
{
// 加载log4net配置
log4net.Config.XmlConfigurator.Configure(new FileInfo("config/log4net.config"));
log.Debug("这是一个调试日志");
log.Info("这是一个信息日志");
log.Warn("这是一个警告日志");
log.Error("这是一个错误日志");
log.Fatal("这是一个致命日志");
Console.WriteLine("日志记录完成,请查看输出!");
}
}