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下载

  • 相关阅读:
    FJNU 1151 Fat Brother And Geometry(胖哥与几何)
    FJNU 1157 Fat Brother’s ruozhi magic(胖哥的弱智术)
    FJNU 1159 Fat Brother’s new way(胖哥的新姿势)
    HDU 3549 Flow Problem(最大流)
    HDU 1005 Number Sequence(数列)
    Tickets(基础DP)
    免费馅饼(基础DP)
    Super Jumping! Jumping! Jumping!(基础DP)
    Ignatius and the Princess IV(基础DP)
    Keywords Search(AC自动机)
  • 原文地址:https://www.cnblogs.com/langhua/p/3826515.html
Copyright © 2011-2022 走看看