log4net的功能非常强大,有多重记录日志的方式,此处着重讲解记录到文件中的使用方式。废话少说,直接进入主题
1.配置文件中加入<configSections>节点,必须是配置文件的第一个节点
<configSections>
<section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
</configSections>
2.配置log4net节点
<log4net>
<!--定义输出到文件中-->
<!--此处若使用type="log4net.Appender.FileAppender"则日志会记录到一个文件中-->
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<!--定义文件存放位置-->
<file value="..\LOG\log4netfile" />
<appendToFile value="true" />
<!--如果一直输出到同一文件中,则不需要下面代码-->
<!--文件输出以日期方式滚动-->
<rollingStyle value="Date" />
<!--日志文件名称以输出日期命名,可更改其他日期输出方式-->
<datePattern value="yyyy-MM-dd'.log'" />
<!--表明输出的日志信息是否一直在同一文件中-->
<staticLogFileName value="false"/>
<!--备份文件的最大文件数目-->
<maxSizeRollBackups value="10" />
<layout type="log4net.Layout.PatternLayout">
<!--每条日志末尾的文字说明-->
<footer value="by jc" />
<!--输出格式-->
<!--样例:2008-03-26 13:42:32,111 [10] INFO Log4NetDemo.MainClass [(null)] - info-->
<conversionPattern value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 记录类:%logger property:[%property{NDC}] - 记录描述:%message%newline" />
</layout>
</appender>
<!--此处省略其它记录日志方式的配置-->
<!--定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。-->
<root>
<!--文件形式记录日志-->
<appender-ref ref="LogFileAppender" />
<!--控制台控制显示日志-->
<!--<appender-ref ref="ConsoleAppender" />-->
<!--Windows事件日志-->
<!--<appender-ref ref="EventLogAppender" />-->
<!-- 如果不启用相应的日志记录,可以通过这种方式注释掉
<appender-ref ref="AdoNetAppender_Access" />
-->
</root>
</log4net>
3.反射机制中配置log4net配置文件的位置
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "***.exe.config", Watch = true)]
***.exe.config是以上1、2中配置所在文件
4.程序中使用
Ilog Logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
using(log4net.NDC.push("logtest"))
{
Logger.Debug("NDC使用方式")
}
输出
记录时间:2016-04-14 11:54:28,189 线程ID:[10] 日志级别:DEBUG 记录类:***.***property:[logtest] - 记录描述:NDC使用方式
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。