log4net应用

夙愿已清 提交于 2020-01-25 11:34:26

log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。

日志分类:

1,Info

2,Debug

3,Warn

4,Error

5,Fatal 

存储类型:

ADONetAppender  数据库方式
SmtpAppender  发邮件
LogFileAppender  服务器端日志文件
ColoredConsoleAppender  还没用过
EventLogAppender windows日志
NetSendAppender
RollingFile 还没用过

先看效果:

文件存储

数据库存储

邮件存储

本文主要是简单的介绍怎么使用:

第一步:添加引用

第二步:添加配置 ,在Web.config 文件中进行添加configSections的节点 如下图所示,

第三步:添加日志配置类型及存储类型,如果是数据库存储需要提前建好数据表,配置好数据库连接字符串,文件存储需要指定日志文件路径和文件名,邮件发送需要配置邮件协议,具体会在代码中有,

  <log4net debug="true">
    <!--<logger name="logerror">
      <level value="ERROR" />
      <appender-ref ref="ADONetAppender" />
    </logger>
    <logger name="loginfo">
      <level value="INFO" />
      <appender-ref ref="InfoAppender" />
    </logger>-->
    <logger name="Loggering">
      <level value="Warn"/>
      <appender-ref ref="ADONetAppender"/>
    </logger>
    <root>
      <level value="info" />
      <!--<appender-ref ref="ADONetAppender" />-->
      <appender-ref ref="ADONetAppender"/>
      <!--<appender-ref ref="LogFileAppender"/> 
          <appender-ref ref="ColoredConsoleAppender"/> 
          <appender-ref ref="EventLogAppender"/> 
          <append-ref ref="NetSendAppender"/> 
          <appender-ref ref="RollingFile"/>-->
    </root>

    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="C:\App_Log\ErrorLog.log" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="MaximumFileSize" value="1MB" />
      <param name="RollingStyle" value="Size" />
      <param name="StaticLogFileName" value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%-5p %d [%c] %m%n" />
      </layout>
    </appender>
    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="C:App_Log\InfoLog.log" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="MaximumFileSize" value="1MB" />
      <param name="RollingStyle" value="Size" />
      <param name="StaticLogFileName" value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%-5p %d [%c] %m%n" />
      </layout>
    </appender>
  </log4net>

文件路径配置:

  文件路径配置

邮件配置

数据库配置

create table _log 
( 
    id int identity(1,1) primary key not null, 
    date datetime null, 
    thread int null, 
    level varchar(10) null, 
    logger varchar(20) null, 
    Message varchar(100) null, 
    Exception varchar(100) null 
)

数据库日志表脚本

第四步:写日志

gloab.asax.cs文件 中Application_Start()方法里第一行加:

 log4net.Config.XmlConfigurator.Configure();

再在要记录的日志文件里加日志记录,如下所示

   private static readonly log4net.ILog log =
log4net.LogManager.GetLogger("Loggering"); 
 string message = string.Format("错误消息:{0},方法名:{1},参数:{2}", ex.Message, "JsonResult Login", Request.Params.ToString());
                log.Debug(message);
                log.Error(message);
                log.Fatal(message);
                log.Warn(message);
                log.Info(message);

demo下载

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!