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

Posted .net实用开发技能

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Log4net系列一: asp.net 配置 Log4net 之文本格式输出相关的知识,希望对你有一定的参考价值。

简介

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

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

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


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

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

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


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


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


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


图片中的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>


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

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


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


   //注册

        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 之文本格式输出的主要内容,如果未能解决你的问题,请参考以下文章

log4net 使用总结- 在ASP.NET MVC 中使用

MVC如何使用Log4Net进行错误日志记录

ASP.NET MVC中Log4Net记录错误日志的使用

Asp.Net Core Log4Net 配置分多个文件记录日志(不同日志级别)

log4net 使用总结- 在ASP.NET MVC 中使用

动态重新配置 Log4Net