log4net的总结之日志配置
一直在用Log4Net做日志的处理,网上也有很多的介绍,开始使用都是直接在网上找了配置说明,然后就开始用了。后来也完善了系统的日志处理,但是感觉对Log4Net并没有系统的总结,其实网上也有很多的总结,所以我就在这里针对自己在做一次总结,自己在以后也可以直接用了。
<congfigSections></congfigSection>跟C#配置文件中的节点一样,用来申明自定义节点解析的类名和程序集
eg:<!--添加自定义节点:log4net type:解析类名,程序集名(log4net.dll)-->
<section name="log4net"type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
<log4net><logn4et>是设置Log4Net 的配置信息,该节点的子节点也可以分为<root></root>和<appender></appender>两类
<root></root>是对设置输出的指定
比如定义了INFO,那么DEBUG日志不会被记录,默认为DEBUG;
appender-ref是<appender>的名称
eg: <!--定义输出到文件中-->
<appender name="Log4Net_ERROR"type="log4net.Appender.RollingFileAppender">
<!--定义文件存放位置-->
<file value="C:/log4net/"/>
<!--是否追加到文件,默认为true,通常无需设置-->
<appendToFile value="true"/>
<!--回滚样式-->
<RollingStyle value="Date"/>
<!--日期的格式,每天换一个文件记录,如不设置则永远只记录一天的日志,需设置-->
<DatePattern value="INFO_yyyyMMdd".log""/>
<!--日志文件名是否为静态-->
<StaticLogFileName value="false"/>
<!--多线程时采用最小锁定-->
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<!--布局(向用户显示最后经过格式化的输出信息)-->
<layout type="log4net.Layout.PatternLayout">
<!-- %m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息%n(newline):换行%d(datetime):输出当前语句运行的时刻%r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数%t(thread id):当前语句所在的线程ID%p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等%c(class):当前日志对象的名称,例如:%L:输出语句所在的行号%F:输出语句所在的文件名%-数字:表示该项的最小长度,如果不够,则用空格填充-->
<!--头-->
<Header value="[Header] "/>
<!--脚注-->
<Footer value="[Footer] "/>
<!--正文-->
<ConversionPattern value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 出错类:%logger property:[%property{NDC}] - 错误描述:%message%newline"/>
</layout>
</appender>
appender->name:表示该appender的名称
->type:表示日志输出的方式
1 AnsiColorTerminalAppender:在ANSI 窗口终端写下高亮度的日志事件。
2 AspNetTraceAppender:能用asp.net中Trace的方式查看记录的日志。
3 BufferingForwardingAppender:在输出到子Appenders之前先缓存日志事件。
15 UdpAppender:将日志connectionless UDP datagrams的形式送到远程宿主或以UdpClient的形式广播。
appender节点下的其他参数,见上面的实例中的注释
正文ConversionPattern 有出现有 %d [%t],对照表可提供参考:
%m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息
Log4Net的配置总结主要是为了方便自己,如果对园里的博友有用,也是很荣幸的事情。

浙公网安备 33010602011771号