C#log4net配置

项目使用log4net,配置过程比较简单,想要实现各种需求,可以深入研究一下配置文件。

1、引用log4net.dll

2、使用命名空间 using log4net;

3、定义logger

public static log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

4、定义配置文件,log4net.dll(或直接使用App.config)

5、调用配置文件

在Properties下面的AssemblyInfo中添加

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

或在Program.cs的Main方法中添加

log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo("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">
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
      <param name= "File" value= "logs\"/>
      <param name= "AppendToFile" value= "true"/>
      <param name= "MaxSizeRollBackups" value= "10"/>
      <param name= "StaticLogFileName" value= "false"/>
      <param name= "DatePattern" value= "yyyy-MM-dd&quot;.log&quot;"/>
      <param name= "RollingStyle" value= "Date"/>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="Debug" />
        <param name="LevelMax" value="Fatal" />
      </filter>
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="[%d] [%-5p] [%c] - %m%n" />
      </layout>
    </appender>
    <appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
      <mapping>
        <level value="Error" />
        <foreColor value="Red, HighIntensity" />
      </mapping>
      <mapping>
        <level value="Warn" />
        <foreColor value="Yellow" />
      </mapping>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="Warn" />
        <param name="LevelMax" value="Fatal" />
      </filter>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%n%date{HH:mm:ss,fff} [%-5level] %m" />
      </layout>     
    </appender>

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

其中

<lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 

可以让多个exe共用一个log文件。

 

转载于:https://www.cnblogs.com/hryan/p/8005650.html

C#中使用log4net进行日志记录,你需要进行以下配置步骤: 1. 添加log4net引用:首先,确保你的项目中已经添加了log4net的引用。你可以通过NuGet包管理器来添加log4net引用,或者手动下载log4net库并将其添加到项目中。 2. 创建log4net配置文件:在项目中创建一个名为log4net.config(或者任何你喜欢的名称)的文件,用来配置log4net。这个文件的格式是XML格式。 3. 配置log4net:打开log4net.config文件,并在其中配置你想要的日志记录器、附加器和布局。根据你的需求,你可以配置不同的日志记录级别、输出目标、日志文件路径等等。 以下是一个简单的log4net配置示例: ```xml <?xml version="1.0" encoding="utf-8"?> <log4net> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> </layout> </appender> <root> <level value="DEBUG" /> <appender-ref ref="ConsoleAppender" /> </root> </log4net> ``` 在这个示例中,我们配置了一个名为ConsoleAppender的附加器,用于将日志输出到控制台。我们还配置了一个根日志记录器,并将日志级别设置为DEBUG,并将ConsoleAppender附加到根日志记录器上。 4. 加载log4net配置:在你的应用程序的入口点(例如Main方法)中,添加以下代码来加载log4net配置: ```csharp using log4net; using log4net.Config; class Program { private static readonly ILog log = LogManager.GetLogger(typeof(Program)); static void Main(string[] args) { XmlConfigurator.Configure(new FileInfo("log4net.config")); log.Debug("Debug message"); log.Info("Info message"); log.Warn("Warn message"); log.Error("Error message"); log.Fatal("Fatal message"); } } ``` 在这个示例中,我们首先引入log4netlog4net.Config命名空间。然后,我们使用ILog接口创建一个日志记录器,并在Main方法中使用该日志记录器输出不同级别的日志消息。 注意:在加载log4net配置之前,确保log4net.config文件与应用程序的可执行文件在同一目录下,或者你可以指定配置文件的完整路径。 这就是使用log4net进行日志记录的基本配置步骤。你可以根据自己的需求进行进一步的配置和定制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值