您的位置:首页 > 其它

Log4Net简单应用

2016-09-01 11:46 309 查看
在MVC项目中应用Log4Net

1、创建配置文件(log4net单独一个配置位置),基本配置如下

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!--段配置-->
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net debug="true">
<!--日志记录对象-->
<appender name="InfoAppender" type="log4net.Appender.RollingFileAppender, log4net">
<!--文件名称-->
<param name="File" value="log4net/logs/"></param>
<!--追加或者覆写-->
<param name="AppendToFile" value="true"></param>
<!--最大文件数,-1为不限制文件数-->
<param name="MaxSizeRoolBackups" value="-1"></param>
<!--文件最大大小,超过这个大小,产生新的文件-->
<param name="MaximumFileSize" value="5MB"></param>
<param name="RollingStyle" value="Composite"></param>
<!--日期模式,生成文件名。yyyyMMddHHmmss,必须带上"-->
<param name="DatePattern" value="yyyyMMddHH-00".log""></param>
<!--是否使用静态文件名-->
<param name="StaticLogFileName"  value="false"></param>
<!--日志内容布局 【%d 日期】【%-5p 日志的当前优先级别】【%n 换行】【%m 消息】【%exception 异常】-->
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="【日志时间】%d %-5p %n%m%n %exception" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="INFO" />
<levelMax value="INFO" />
</filter>
</appender>

<!--请求日志-->
<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender,log4net">
<param name="File" value="log4net/errs/" />
<param name="AppendToFile" value="true" />
<!-- 切割最多文件数 -1表示不限制产生日志文件数-->
<param name="MaxSizeRollBackups" value="-1"/>
<!-- 每个文件的大小限制  -->
<param name="MaximumFileSize" value="5MB"/>
<!-- RollingStyle Composite 综合  Size 按大小  Date 按时间 -->
<param name="RollingStyle" value="Composite" />
<param name="DatePattern" value="HH-00".log"" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="【日志时间】%d %-5p %n%m%n %exception" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="ERROR" />
<levelMax value="ERROR" />
</filter>
</appender>

<root>
<level value="ALL"></level>
<appender-ref ref="InfoAppender"/>
<appender-ref ref="ErrorAppender"/>
</root>
</log4net>
</configuration>


2、在Properties/AssemblyInfo.cs中添加以下语句

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]


或者在Global.asax中添加以下语句

var path = AppDomain.CurrentDomain.BaseDirectory + @"\log4net.config";
log4net.Config.XmlConfigurator.Configure(new FileInfo(path));


这样配置之后就可以在程序中使用:

private static log4net.ILog _log = LogManager.GetLogger("InfoAppender");

public void WriteToFile(string message, string dir)
{
_log.Info(message);
}


3、输出Log4Net初始化日志

在Web.config中配置,appSettings添加

<add key="log4net.Internal.Debug" value="true"/>


在configuration下添加

<system.diagnostics>
<trace autoflush="true">
<listeners>
<add
name="textWriterTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="F:\tmp\log4net.txt" />
</listeners>
</trace>
</system.diagnostics>


initializeData路径需要先存在,不会自动创建
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  log4net