Chinaunix首页 | 论坛 | 博客
  • 博客访问: 67724
  • 博文数量: 27
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 509
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-08 13:35
文章分类
文章存档

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/

阅读(1375) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~