Log4Net简单应用

在MVC项目中应用Log4Net
1、创建配置文件(log4net单独一个配置位置),基本配置如下

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <!--段配置-->
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net debug="true">
    <!--日志记录对象-->
    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender, log4net">
      <!--文件名称-->
      <param name="File" value="log4net/logs/"></param>
      <!--追加或者覆写-->
      <param name="AppendToFile" value="true"></param>
      <!--最大文件数,-1为不限制文件数-->
      <param name="MaxSizeRoolBackups" value="-1"></param>
      <!--文件最大大小,超过这个大小,产生新的文件-->
      <param name="MaximumFileSize" value="5MB"></param>
      <param name="RollingStyle" value="Composite"></param>
      <!--日期模式,生成文件名。yyyyMMddHHmmss,必须带上&quot;-->
      <param name="DatePattern" value="yyyyMMddHH-00&quot;.log&quot;"></param>
      <!--是否使用静态文件名-->
      <param name="StaticLogFileName"  value="false"></param>
      <!--日志内容布局 【%d 日期】【%-5p 日志的当前优先级别】【%n 换行】【%m 消息】【%exception 异常】-->
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="【日志时间】%d %-5p %n%m%n %exception" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="INFO" />
        <levelMax value="INFO" />
      </filter>
    </appender>


    <!--请求日志-->
    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender,log4net">
      <param name="File" value="log4net/errs/" />
      <param name="AppendToFile" value="true" />
      <!-- 切割最多文件数 -1表示不限制产生日志文件数-->
      <param name="MaxSizeRollBackups" value="-1"/>
      <!-- 每个文件的大小限制  -->
      <param name="MaximumFileSize" value="5MB"/>
      <!-- RollingStyle Composite 综合  Size 按大小  Date 按时间 -->
      <param name="RollingStyle" value="Composite" />
      <param name="DatePattern" value="HH-00&quot;.log&quot;" />
      <param name="StaticLogFileName" value="false" />
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="【日志时间】%d %-5p %n%m%n %exception" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="ERROR" />
        <levelMax value="ERROR" />
      </filter>
    </appender>

    <root>
      <level value="ALL"></level>
      <appender-ref ref="InfoAppender"/>
      <appender-ref ref="ErrorAppender"/>
    </root>
  </log4net>
</configuration>

2、在Properties/AssemblyInfo.cs中添加以下语句

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

或者在Global.asax中添加以下语句

var path = AppDomain.CurrentDomain.BaseDirectory + @"\log4net.config";
            log4net.Config.XmlConfigurator.Configure(new FileInfo(path));

这样配置之后就可以在程序中使用:

private static log4net.ILog _log = LogManager.GetLogger("InfoAppender");

public void WriteToFile(string message, string dir)
{
    _log.Info(message);
}

3、输出Log4Net初始化日志
在Web.config中配置,appSettings添加

 <add key="log4net.Internal.Debug" value="true"/>

在configuration下添加

 <system.diagnostics>
    <trace autoflush="true">
      <listeners>
        <add
            name="textWriterTraceListener"
            type="System.Diagnostics.TextWriterTraceListener"
            initializeData="F:\tmp\log4net.txt" />
      </listeners>
    </trace>
  </system.diagnostics>

initializeData路径需要先存在,不会自动创建

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值