zoukankan      html  css  js  c++  java
  • log4net应用

    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_LogErrorLog.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_LogInfoLog.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下载

  • 相关阅读:
    第二章 Centos7下Confluence7.4.0安装
    第一章 APM基本介绍
    第二十一章 MySQL导入数据常见报错解决
    第二十章 Centos7 下 Mysql 8.0.24编译安装
    第一章 Confluence基础介绍
    第十九章 Centos7下 Mysql 8.0.24 二进制安装
    团队项目冲刺阶段一(5)
    团队项目冲刺阶段一(4)
    团队项目冲刺阶段一(3)
    团队项目冲刺阶段一(2)
  • 原文地址:https://www.cnblogs.com/langhua/p/3826515.html
Copyright © 2011-2022 走看看