log4net配置使用说明(转)

(一)log4net的标准配置文档示例

<?xmlversion="1.0"encoding="utf-8" ?>

<configuration>

<configSections>

<sectionname="log4net"

type="log4net.Config.Log4NetConfigurationSectionHandler" />

</configSections>

<log4net>

<root>

<levelvalue="WARN" />

<appender-refref="LogFileAppender" />

<appender-refref="ConsoleAppender" />

</root>

<loggername="testApp.Logging">

<levelvalue="DEBUG"/>

</logger>

<appendername="LogFileAppender"  type="log4net.Appender.FileAppender" >

<paramname="File"value="log-file.txt" />

<paramname="AppendToFile"value="true" />

   <layouttype="log4net.Layout.PatternLayout">

<paramname="Header"value="[Header] "/>

<paramname="Footer"value="[Footer] "/>

<paramname="ConversionPattern" value="%d [%t] %-5p %c[%x]  - %m%n" />

</layout>

<filtertype="log4net.Filter.LevelRangeFilter">

<paramname="LevelMin"value="DEBUG" />

<paramname="LevelMax"value="WARN" />

</filter>

</appender>

<appendername="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >

<layouttype="log4net.Layout.PatternLayout">

<paramname="ConversionPattern" value="%d [%t] %-5p %c [%x] -%m%n" />

</layout>

</appender>

</log4net>

</configuration>

(二)log4net配置文件与程序的关联

log4net的配置可以放在应用程序的默认配置文件中(app.config或web.config),也可以在自己指定的配置文件中。log4net框架中是使用log4net.Config.XmlConfigurator在程序集的级别上定义配置文件。

(1)winform程序中,如果配置在app.config文件中,配置文件的结构如示例。这时找到当前项目的Assemblyinfo.cs文件添加

          [assembly:log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch= true)]  app.config文件属性设置保持默认。

(2)winform程序中,如果配置在自定义文件中如“Config.txt”中。这时找到当前项目的Assemblyinfo.cs文件添加

          [assembly:log4net.Config.XmlConfigurator(ConfigFile="config.txt", Watch =true)]   Config.txt文件的属性要设置为复制。就是要输出到输出目录。

这个时候配置可以省略示例模版中<configSection>节点里的<section>节点。

ConfigFile:指出了我们的配置文件的路径及文件名,包括扩展名。

ConfigFileExtension:如果我们对被编译程序的程序集使用了不同的文件扩展名,那么我们需要定义这个属性,缺省的,程序集的配置文件扩展名为”config”。

Watch (Boolean属性): log4net框架用这个属性来确定是否需要在运行时监视文件的改变。如果这个属性为true,那么FileSystemWatcher将会被用来监视文件的改变,重命名,删除等事件。

其中:ConfigFile和ConfigFileExtension属性不能同时使用,ConfigFile指出了配置文件的名字,例如,ConfigFile=”Config.txt”

ConfigFileExtension则是指明了和可执行程序集同名的配置文件的扩展名,例如,应用程序的名称是”test.exe”,ConfigFileExtension=”txt”,则配置文件就应该是”test.exe.txt”;

也可以在程序代码中用DOMConfigurator类打开配置文件。类的构造函数需要一个FileInfo对象作参数,以指出要打开的配置文件名。这个方法和前面在程序集里设置属性打开一个配置文件的效果是一样的。

log4net.Config.DOMConfigurator.Configure(newFileInfo("TestLogger.Exe.Config"));

DOMConfigurator类还有一个方法ConfigureAndWatch(..),用来配置框架并检测文件的变化。

(二)节点分析

在配置章节中,定义section节点。节点名称为:须为log4net,且大小写敏感。

<configSections>

<sectionname="log4net"

type="log4net.Config.Log4NetConfigurationSectionHandler" />

</configSections>

(三)log4net节点说明

(1)节点支持的属性,debug,update,threshold三个属性

debug 可选,取值是true或false,默认是false。设置为true,开启log4net的内部调试。

update可选,取值是Merge(合并)或Overwrite(覆盖),默认值是Merge。设置为Overwrite,在提交配置的时候会重置已经配置过的库。

threshold可选,取值是repository(库)中注册的level,默认值是ALL。

(2)支持子元素

       appender  0或多个

logger 0或多个

renderer 0或多个

root 最多一个

param 0或多个

(四)root节点说明

(1)根logger,所有其它logger都默认继承它。root元素没有属性。

(2)支持的子元素

appender-ref 0个或多个,要引用的appender的名字。

·                  level 最多一个。只有在这个级别或之上的事件才会被记录。

·                  param 0个或多个,设置一些参数。

<root>

          <levelvalue="WARN" />

         <appender-refref="LogFileAppender" />

         <appender-refref="ConsoleAppender" />

</root>

(五)Logger节点说明

(1)支持的属性name,Additivity两个属性

   name必须的,logger的名称

          additivity 可选,取值是true或false,默认值是true。设置为false时将阻止父logger中的appender。

(2)支持的子元素:

appender-ref 0个或多个,要引用的appender的名字。

·level最多一个。只有在这个级别或之上的事件才会被记录。

·param 0个或多个,设置一些参数。

例如:<loggername="testApp.Logging">

<levelvalue="DEBUG"/>

    </logger>

(六)Appender节点说明

(1)定义日志的输出方式,只能作为 log4net 的子元素。name属性必须唯一,type属性必须指定。支持name,type两个属性。

name 必须的,Appender对象的名称

type 必须的,Appender对象的输出类型

(2)支持的子元素:

·                  appender-ref 0个或多个,允许此appender引用其他appender,并不是所以appender类型都支持。

·filter 0个或多个,定义此app使用的过滤器。

·layout 最多一个。定义appender使用的输出格式。

·                  param 0个或多个,设置Appender类中对应的属性的值。

例如: LogFileAppender 节点日志文件输出。type="log4net.Appender.FileAppender"

                  ConsoleAppender节点控制台输出。type="log4net.Appender.ConsoleAppender" 

(七)Filter节点说明

过滤器,只能作为<appender>的子元素。

支持的属性:

type 必须的,Filter的类型

支持的子元素:param 0个或多个,设置一些参数。

(八)Layout节点说明

布局,只能作为<appender>的子元素。

支持的属性:

type 必须的,Layout的类型

支持的子元素:param 0个或多个,设置一些参数。

(九)Param

<param>元素可以是如何元素的子元素。

支持的属性:

name 必须的,取值是父对象的参数名。

value 可选的,value和type中,必须有一个属性被指定。value是一个能被转化为参数值的字符串。

type 可选的,value和type中,必须有一个属性被指定。type是一个类型名,如果type不是在log4net程序集中定义的,就需要使用全名。

支持的子元素:param 0个或多个,设置一些参数。

(十)Log4net xsd

        好多刚开始接触.Net不久的人一定会问.xsd文件是干嘛的?通俗点说这东西就是用来制定目标xm文档规则的,它是解释性的。大家一定有这个经验就是当你在App.config文件中写配置文件时会自动出现智能提示,而且在书写不规范或错误时还会出现警告。在后台其作用的就是对应的.xsd文件。好了不聊这个了,为了让我们在编辑log4Net配置文件时,也能有对应的提示和纠错功能。下面是我找到的log4net.xsd文件(郁闷,好像不能直接上传。哎)

log4net.xsd

使用方法是,把这个文件拷贝到D:\Program Files\Microsoft Visual Studio 8\Xml\Schemas目录下(根据你vs的安装目录修改地址),在配置log4net结点时,加上xmlns="urn:log4net"的命名空间。就可以获得智能提示和正确的错误提醒。

<log4net xmlns="urn:log4net">

在后续中,我将提供log4net输出到不同媒介的具体示例。
http://blog.csdn.net/mymhj/article/details/7518648

时间: 2024-08-29 05:39:56

log4net配置使用说明(转)的相关文章

log4net配置和使用方法分享

 这篇文章主要介绍了log4net配置和使用方法,大家参考使用吧 1.Global.asax文件 代码如下: void Application_Start(object sender, EventArgs e)  { //在应用程序启动时运行的代码 log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(Sxmobi.FileHelper.GetMapPath("~log4net.config"))

在asp.net下将log4net配置成可log到ms sql

asp.net log4net是一个优秀的开源日志项目,现将本人使用写成一个demo,如下 0:准备去http://logging.apache.org/,可下载log4net,最新为1.2版本,建立一个asp.net web 项目,并将log4net.dll添加到引用 1:建立数据表 CREATE TABLE [dbo].[Log] ( [Id] [int] IDENTITY (1, 1) NOT NULL, [Date] [datetime] NOT NULL, [Thread] [varc

Log4net 配置使用总结(一)

Log4net 介绍  Log4net是一个基于.NET开发的一款非常著名的记录日志的开源组件,它是Apache日志服务项目的一部分.从它的官方网址为http://logging.apache.org/上面你可以看到还有log4j(Java). log4cxx(C++).log4php(Php)其它三种语言的类似项目.旨在提供对应用程序调试和审计目的的跨语言记录服务. Log4net 版本历史  Log4net的版本演变历史: 1.2.0 Beta 1 1.2.0 Beta 2 1.2.0 Be

log4net配置和使用方法分享_实用技巧

1.Global.asax文件 复制代码 代码如下: void Application_Start(object sender, EventArgs e) {//在应用程序启动时运行的代码log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(Sxmobi.FileHelper.GetMapPath("~\\log4net.config")));} 2.log4net.config 文件 复制代码

log4net配置区别

问题描述 在log4net的config配置中有的是这样写的<configSections><sectionname="log4net"type="System.Configuration.IgnoreSectionHandler"/></configSections>有的是这样写的<configSections><sectionname="log4net"type="log4net

【云效Q&amp;A系列3】环境管理的管理员配置使用说明

一.开发新增一个应用后,需要管理员在环境管理中增加此应用的相应配置,具体操作如下: (1)点击Aenv的资源管理-应用管理-增加应用(系统管理员才有权限),打开以下界面: (2)根据申请人提交的应用名.负责人等信息填写以下内容,脚本根据应用的情况填写适用的脚本,示例如下:  二.配置项变更,需要应用负责人或者测试负责人在环境管理中修改对应的配置项,操作如下: (1)打开配置项管理(应用负责人.测试负责人.管理员均有权限),输入要修改配置项的应用:如 esite,点击查询,出来如下界面:  (2)

FCKeditor 2.6.5 ASP环境安装配置使用说明_网页编辑器

(1)精简,"言多必失",文件多了也是一种隐患.FCKEditor支持多种服务器脚本语言,实际使用的时候我们根本用不了那么多文件,我们要根据自己的需要对其进行精简. 对于ASP系统来说: FCKEditor根目录,仅保留"fckeditor.asp,fckconfig.js,fckeditor.js,fckpackager.xml,fckstyles.xml, fcktemplates.xml"这些文件以及editor目录.删除示例目录"_samples&

关于log4net配置

问题描述 手上有一个配置文件,代码如下:<?xmlversion="1.0"encoding="UTF-8"?><log4netshowHex="1"backupDay="180"reservedSize="1000"><appendername="Main"type="log4net.Appender.RollingFileAppender&qu

log4net的配置与使用

log4net解决的问题是在.Net下提供一个记录日志的框架,它提供了向多种目标写入的实现,比如利用log4net可以方便地将日志信息记录到文件.控制台.Windows事件日志和数据库(包括MS SQL Server, Access,Oracle9i,Oracle8i,DB2,SQLite)中. log4net主页:http://logging.apache.org/log4net/ log4net配置: 1.下载log4net.dll,在项目中添加该引用. 2.在项目AssemblyInfo.