C# log4net使用

1. 引用log4net.dll库

[log4net.dll库下载地址](http://logging.apache.org/log4net/download_log4net.cgi)

2. AssemblyInfo.cs

最后一行添加如下代码:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]

3. log4net.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>

  <log4net>
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <param name= "File" value= "D:\App_Log\servicelog\"/>
      <param name= "AppendToFile" value= "true"/>
      <param name= "MaxSizeRollBackups" value= "10"/>
      <param name= "StaticLogFileName" value= "false"/>
      <param name= "DatePattern" value= "yyyy-MM-dd&quot;.read.log&quot;"/>
      <param name= "RollingStyle" value= "Date"/>
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="[%date]-[%thread]-[%-p]-[%logger]-[%M] -> %message%newline" />
      </layout>
    </appender>

    <appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
      <mapping>
        <level value="DEBUG" />
        <foreColor value="Red, HighIntensity" />
      </mapping>
      <mapping>
        <level value="DEBUG" />
        <foreColor value="Green" />
      </mapping>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%n%date{HH:mm:ss,fff} [%-5level] %m" />
      </layout>

      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="Info" />
        <param name="LevelMax" value="Fatal" />
      </filter>
    </appender>

    <root>
      <level value="all" />
      <appender-ref ref="ColoredConsoleAppender"/>
      <appender-ref ref="RollingLogFileAppender"/>
    </root>
  </log4net>
</configuration>

注意把这个文件的属性”复制到输出目录”值改为”始终复制”, 不然会不生效

4. 应用

private static ILog log = LogManager.GetLogger(typeof(Program));
[STAThread]
static void Main(string[] args)
{
    log.Info("info");
    log.Debug("Debug");
    log.Error("Error");
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Log4net 是一个用于记录日志的开源框架,它提供了灵活的配置和可扩展性。下面是使用 log4net 记录日志的 C# 示例代码: 1. 首先,需要在项目中添加 log4net 库的引用。 2. 在代码中添加以下命名空间: ```csharp using log4net; using log4net.Config; ``` 3. 在应用程序的启动方法中初始化 log4net: ```csharp XmlConfigurator.Configure(); ``` 4. 创建一个 log4net 的日志记录器: ```csharp private static readonly ILog log = LogManager.GetLogger(typeof(YourClassName)); ``` 5. 记录日志: ```csharp log.Debug("这是一条 Debug 级别的日志"); log.Info("这是一条 Info 级别的日志"); log.Warn("这是一条 Warn 级别的日志"); log.Error("这是一条 Error 级别的日志"); log.Fatal("这是一条 Fatal 级别的日志"); ``` 6. 配置 log4net: 在项目的根目录下创建一个名为 log4net.config 的配置文件,示例如下: ```xml <?xml version="1.0" encoding="utf-8" ?> <log4net> <appender name="RollingFile" type="log4net.Appender.RollingFileAppender"> <file value="log.txt" /> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="5" /> <maximumFileSize value="10MB" /> <staticLogFileName value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> </layout> </appender> <root> <level value="DEBUG" /> <appender-ref ref="RollingFile" /> </root> </log4net> ``` 这个配置文件定义了一个 RollingFileAppender,它将日志写入到 log.txt 文件中。日志文件最大为 10MB,最多保留 5 个备份文件。日志的格式为: ``` 日期 [线程] 日志级别 日志记录器名称 - 日志信息 ``` 在应用程序启动时,需要使用 XmlConfigurator.Configure() 方法读取配置文件。如果配置文件位于其他位置,可以使用 XmlConfigurator.ConfigureAndWatch() 方法,并指定配置文件的路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值