Log4net系列一: asp.net 配置 Log4net 之文本格式输出

简介

项目开发中,记录项目日志是必须的,如果非要说日志的重要性(日志可看做,飞机的黑匣子,或者汽车的行车记录仪),根据等级进行记录,方便我们排查相关问题,以后项目运维中,也方便很多。基本上我们进入一家公司,开发你从事什么岗位,公司产品或项目的框架都已经搭建好,我们有时候进行改版,根据业务延伸框架,记录日志基本都是我们自己去调用封装的方法。今天我们就对Log4net进行一下学习,Log4net可以做到:1、邮箱发送日志;2、记录到数据库;3、生成记事本文件。本章Log4net学习,以为是后面,我会简单一个微服务框架做准备。

今天我们主要对邮箱发送日志,生产记事本文件两种方式研究。后期有时间我们在研究保存到数据库。

开发环境:VS2013  ,创建一个Web MVC4 模拟项目场景去解析Log4Net

Log4net系列一: asp.net 配置 Log4net 之文本格式输出

 第一步,MVC解决方案 中用NuGet搜索Log4net添加:Log4net引用

Log4net系列一: asp.net 配置 Log4net 之文本格式输出

 第二步,我们在WebMVC添加一个Log4net.config配置文件,它主要放我们的日志配置信息

第三步 我们配置log4net.config 的内容

图片中的XML内容为:

<?xml version=”1.0″ encoding=”utf-8″?>

<configuration>

  <configSections>

    <!–web程序的写法–>

    <section name=”log4net” type=”log4net.Config.Log4NetConfigurationSectionHandler, log4net” />

  </configSections>

  <!–配置–>

  <log4net>

    <!– OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL –>

    <!– Set root logger level to ERROR and its appenders –>

    <root>

      <level value=”ALL” />

      <appender-ref ref=”SysAppender” />

    </root>

    <!– Print only messages of level DEBUG or above in the packages –>

    <logger name=”WebLogger”>

      <level value=”DEBUG” />

    </logger>

    <appender name=”SysAppender” type=”log4net.Appender.RollingFileAppender,log4net”>

      <param name=”File” value=”App_Data/” />

      <param name=”AppendToFile” value=”true” />

      <param name=”RollingStyle” value=”Date” />

      <param name=”DatePattern” value=”&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;” />

      <param name=”StaticLogFileName” value=”false” />

      <layout type=”log4net.Layout.PatternLayout,log4net”>

        <param name=”ConversionPattern” value=”%d [%t] %-5p %c – %m%n” />

      </layout>

    </appender>

    <appender name=”consoleApp” type=”log4net.Appender.ConsoleAppender,log4net”>

      <layout type=”log4net.Layout.PatternLayout,log4net”>

        <param name=”ConversionPattern” value=”%d [%t] %-5p %c – %m%n” />

      </layout>

    </appender>

  </log4net>

</configuration>

解释


<log4net>

    <!–错误日志:::记录错误日志–>

    <!–按日期分割日志文件 一天一个–>

    <!– appender 定义日志输出方式   将日志以回滚文件的形式写到文件中。–>

    <appender name=”ErrorAppender” type=”log4net.Appender.RollingFileAppender”>

      <!–保存路径:下面路径项目启动的时候自动在C盘中创建log、logError文件–>

      <file value=”C:\\log\\LogError\\”/>

       <!– 如果想在本项目中添加路径,那就直接去掉C:\\  只设置log\\LogError   项目启动中默认创建文件 –>

      <appendToFile value=”true”/>

      <!–按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])–>

      <rollingStyle value=”Date”/>

      <!–这是按日期产生文件夹–>

      <datePattern value=”yyyy\\yyyyMM\\yyyyMMdd’.txt'”/>

      <!–是否只写到一个文件中–>

      <staticLogFileName value=”false”/>

      <!–保留的log文件数量 超过此数量后 自动删除之前的   好像只有在 按Size分割时有效 设定值value=”-1″为不限文件数–>

      <param name=”MaxSizeRollBackups” value=”100″/>

      <!–每个文件的大小。只在混合方式与文件大小方式下使用。超出大小后在所有文件名后自动增加正整数重新命名,数字最大的最早写入。可用的单位:KB|MB|GB。不要使用小数,否则会一直写入当前日志–>

      <maximumFileSize value=”1GB” />

      <!– layout 控制Appender的输出格式,也可以是xml  一个Appender只能是一个layout–>

      <layout type=”log4net.Layout.PatternLayout”>

        <!–每条日志末尾的文字说明–>

        <!–输出格式 模板–>

        <!– <param name=”ConversionPattern”  value=”记录时间:%date 线程ID:[%thread] 日志级别:%-5level 记录类:%logger   

        操作者ID:%property{Operator} 操作类型:%property{Action}%n  当前机器名:%property%n当前机器名及登录用户:%username %n  

        记录位置:%location%n 消息描述:%property{Message}%n   异常:%exception%n 消息:%message%newline%n%n” />–>

        <!–样例:2008-03-26 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] – info–>

        <!–<conversionPattern value=”%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别: %-5level %n错误描述:%message%newline %n”/>–>

        <conversionPattern value=”%n==========

                                  %n【日志级别】%-5level

                                  %n【记录时间】%date

                                  %n【线程编号】[%thread]

                                  %n【执行时间】[%r]毫秒

                                  %n【出错文件】%F

                                  %n【出错行号】%L

                                  %n【出错的类】%logger 属性[%property{NDC}]

                                  %n【错误描述】%message

                                  %n【错误详情】%newline”/>

      </layout>

    </appender>

    <!–Error日志::: 错误日志–>

    <logger name=”logerror”>

      <level value=”ERROR” />

      <appender-ref ref=”ErrorAppender” />

    </logger>

  </log4net>

第四步 注册配置文件到程序中

  1. 如果是web程序那么log4net的配置就在Global.asax 中 的 Application_Start() 方法下配置。

   //注册

        log4net.Config.XmlConfigurator.Configure(new        System.IO.FileInfo(Server.MapPath(“/XmlConfig/log4Net.config”)));

  1. 如果是桌面应用程序、控制台应用程序、Windows服务项目中log4net的配置就在AssemblyInfo.cs 

//注册项目类

[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = “config”, Watch = true)]

第五步 调用

        ILog loger = LogManager.GetLogger(“这个地方可以自己定制”);

         loger.Info(“记录信息”);

          loger.Error(“错误信息”);

Log4net系列一: asp.net 配置 Log4net 之文本格式输出》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.hashtobe.com/345.html