log4net 使用总结

最近开发的项目中需要添加日志处理,在C# 中最常用的日志处理框架是log4net 框架,在此总结一下

log4net 可以在控制台和asp.net上添加引用,但配置却不同,配置思路一样,

1)通过NuGet 添加log4net 的引用

2)添加log4net 配置文件,配置虽然可以放到app.config 或者web.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>

3)自觉是最重要的一步,需要把log4net.config 文件放到可以找到的地方,也就是

 log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo("log4net.config"));

这里必须找到配置文件

4)写一个Log4netHelper.cs 类,代码如下

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

        public LogHelper()
        {
            FileInfo fl = new System.IO.FileInfo("log4net.config");

            log4net.Config.XmlConfigurator.ConfigureAndWatch(fl);
        }

        public  void WriteInfo(string info)
        {
            try
            {

                logger.Info(info);
            }
            catch (Exception ex)
            {

                throw;
            }

        }
        public  void WriteError(string info, Exception ex)
        {
            logger.Error(info, ex);
        }
    }

5)调用

LogHelper log=new LogHelper();
log.WriteInfo("cs");

6) 测试,测试的文件夹最好写个绝对路径,否则找起来挺费劲

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xunbaogang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值