2013年(27)
分类: C#/.net
2013-12-19 13:51:11
二、配置log4net.config
1.在项目根目录下新建文件:log4net.config (注意一定要在根目录下),将下面的内容复制到文件中。
xml version="1.0" encoding="utf-8"?>
<configuration>
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
<file value="D:/"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value=""logs_"yyyyMMdd".txt""/>
<StaticLogFileName value="false"/>
<layout type="log4net.Layout.PatternLayout">
<footer value="by jzhfz "yyyyMMdd""/>
<conversionPattern value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 执行类:%logger property:[%property{NDC}] - 描述:%message%newline"/>
layout>
appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
layout>
appender>
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
<layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
layout>
appender>
<appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">
<connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:log4net.mdb"/>
<commandText value="INSERT INTO LogDetails ([LogDate],[Thread],[Level],[Logger],[Message]) VALUES (@logDate, @thread, @logLevel, @logger,@message)"/>
<parameter>
<parameterName value="@logDate"/>
<dbType value="String"/>
<size value="240"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date"/>
layout>
parameter>
<parameter>
<parameterName value="@thread"/>
<dbType value="String"/>
<size value="240"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread"/>
layout>
parameter>
<parameter>
<parameterName value="@logLevel"/>
<dbType value="String"/>
<size value="240"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level"/>
layout>
parameter>
<parameter>
<parameterName value="@logger"/>
<dbType value="String"/>
<size value="240"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger"/>
layout>
parameter>
<parameter>
<parameterName value="@message"/>
<dbType value="String"/>
<size value="240"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message"/>
layout>
parameter>
appender>
<root>
<level value="ALL"/>
<appender-ref ref="LogFileAppender"/>
<appender-ref ref="ConsoleAppender"/>
<appender-ref ref="EventLogAppender"/>
root>
log4net>
configuration>
参考资料:bet1747.com/
其中
2.如果要以大小分割日志文件,将appender节点内容换成下面的内容。
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender,log4net"> <file value="D:/log.txt"/> <appendToFile value="true"/> <maxSizeRollBackups value="3" /> <maximumFileSize value="20KB" /> <rollingStyle value="Size"/> <datePattern value=""logs_"yyyyMMdd".txt""/> <StaticLogFileName value="true"/> <layout type="log4net.Layout.PatternLayout"> <footer value="by jzhfz"/> <conversionPattern value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 执行类:%logger property:[%property{NDC}] - 描述:%message%newline"/> layout> appender>
于日期分割不同的是:要设置为true,生成的日志文件为 log.txt.1 log.txt.2 log.txt.3 超出最大数量将自动覆盖最前面的文件。 三、设置项目使用log4net输出日志 1.在web.config中配置
<configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> configSections>
参考资料:qxw7563.com/
2.新增属性文件AssemblyInfo.cs,内容如下
using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // 有关程序集的常规信息通过以下 // 特性集控制。更改这些特性值可修改 // 与程序集关联的信息。 [assembly: log4net.Config.DOMConfigurator(ConfigFile = "log4net.config", Watch = false)]
到这里我们所有的配置工作已经完成。下面介绍如何使用log4net来记录日志。
四、log4net的使用
在需要使用的地方引入命名空间:
参考资料:bct9963.com/
using log4net; using System.Reflection;
public ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); logger.Info(“正常的日志”); logger.Error("发生了一个异常"); logger.Fatal("发生了一个致命错误"); logger.Debug(“调试信息”); logger.Warn(“警告”);
文章参考资料:yl5011.com/