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引用
第二步,我们在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=""Logs_"yyyyMMdd".txt"" />
<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>
第四步 注册配置文件到程序中
如果是web程序那么log4net的配置就在Global.asax 中 的 Application_Start() 方法下配置。
//注册
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(Server.MapPath("/XmlConfig/log4Net.config")));
如果是桌面应用程序、控制台应用程序、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 中使用
Asp.Net Core Log4Net 配置分多个文件记录日志(不同日志级别)