winform 配置log4net,做个记录

本文介绍了如何在Winform应用程序中配置log4net,包括动态配置和XML配置方法。在动态配置中,配置步骤位于Program.cs的main方法中,而在XML配置中,则通过在AssemblyInfo.cs中添加特性进行设置。两种方式都使用了log4net.LogManager.GetLogger获取日志记录器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.动态配置,写在program.cs main方法里面,窗体启动之前

log4net.Appender.RollingFileAppender appender = new log4net.Appender.RollingFileAppender();
            appender.File = @"" + System.Environment.SystemDirectory.Substring(0, 3) + "" + "Log\\" + DateTime.Now.ToString("yyyy-MM-dd") + "\\";
            appender.AppendToFile = true;
            appender.MaxSizeRollBackups = -1;
            //appender.MaximumFileSize = "1MB";
            appender.RollingStyle = log4net.Appender.RollingFileAppender.RollingMode.Date;
            appender.DatePattern = "yyyy-MM-dd_HH\".log\"";
            appender.StaticLogFileName = false;
            appender.LockingModel=new log4net.Appender.FileAppender.MinimalLock();
            appender.Layout = new log4net.Layout.PatternLayout("%date [%thread] %-5level - %message%newline");
            appender.ActivateOptions();
            log4net.Config.BasicConfigurator.Configure(appender); 

使用时加上:private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

2.xml配置

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

  <log4net debug="false">
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value="yyyyMMdd-HH:mm:ss" />
      <!--<layout type="log4net.Layout.PatternLayout">-->
      <param name="File" value="d:\\Log_" />
      <!--<param name="AppendToFile" value="true" />-->
      <param name="MaxSizeRollBackups" value="-1" />
      <!--<param name="MaximumFileSize" value="2 kb" />
      <param name="RollingStyle" value="Size" />-->
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyy-MM-dd.HH".log""/>
      <layout type="log4net.Layout.PatternLayout">
        <!--<param name="记录时间:%date 日志级别:%-5level 出错类:%logger property:[%property{NDC}] - 错误描述:%message%newline" />-->
        <!--<param name="ConversionPattern" value="记录时间:%date 日志级别:%-5level 出错类:%logger property:[%property{NDC}] - 错误描述:%message%newline" />-->
        <param name="ConversionPattern" value="[%date][%-5level] - %message%newline" />
      </layout>
    </appender>
    <!-- Setup the root category, add the appenders and set the default priority -->
    <root>
      <level value="ALL" />
      <appender-ref ref="RollingLogFileAppender" />
      <!--<appender-ref ref="RemotingAppender" /> -->
    </root>
  </log4net>
</configuration>

在AssemblyInfo.cs里加上:[assembly: log4net.Config.XmlConfigurator(Watch = true)]

使用时加上:private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值