<?xml version="1.0" encoding="utf-8" ?>

  <configuration>

<configSections>

  <section name="CuyahogaSettings" type="Cuyahoga.Core.Util.CuyahogaSectionHandler, Cuyahoga.Core" />     <section name="UrlMappings" type="Cuyahoga.Web.HttpModules.UrlMappingsSectionHandler, Cuyahoga.Web" />     <section name="nhibernate" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />

</configSections>

<log4net debug="false">     

<!-- 总:appender,定义输出介质 Appenders may only be defined as child elements of the <log4net> element.      Each appender must be uniquely named. The implementing type for the appender must be specified.  -->

<!-- 说明name       Required attribute. Value must be a string name for this appender. The name must be unique among all the appenders defined in this configuration file.       This name is used by the <appender-ref> element of a Logger to reference an appender.         -->

<!-- 说 明type: Required attribute. Value must be the type name for this appender. If the appender is not defined in the log4net assembly this type name must be fully assembly qualified. -->

<!-- RollingFileAppender: 输出到文件-->

<appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net">

<!-- 设置好像有问题,一些设置冲突-->

<!-- 定义RollingFileAppender的属性 -->

<param name="File" value="log/log.txt" />

<!-- Gets or sets the path to the file that logging will be written to. -->

<param name="AppendToFile" value="true" />

<!--Gets or sets a flag that indicates weather the file should be appended to or overwritten -->

<param name="StaticLogFileName" value="true" />

<!-- true if always should be logged to the same file -->

<!-- 使的下面三行的设置无效-->       

<param name="RollingStyle" value="Date" />

<!-- Gets or sets the rolling style ,Date是RollingMode枚举值Roll files based only on the date  -->

<param name="DatePattern" value="yyyy.MM.dd" />

<!-- Gets or sets the datepattern to be used for generating file names when rolling over on date.  -->

<param name="CountDirection" value="1" />

<!-- CountDirection > 0  does the opposite ,从1开始增加是无穷的-->            

<!--文件名的格式为 :(or file.log.curSizeRollBackup or even file.log.yyyy-mm-dd.curSizeRollBackup).  -->

<!--  Layout:输出日志的格式化器         用于向用户显示最后经过格式化的输出信息。输出信息可以以多种格式显示,

主要依赖于我们采用的Layout组件类型。         可以是线性的或一个XML文件。Layout组件和一个Appender组件一起

工作。API帮助手册中有关于不同Layout组件的列表。         一个Appender对象,只能对应一个Layout对象。要实现你

自己的Layout类,你需要从log4net.Layout.LayoutSkeleton类继承,它实现了ILayout接口。 

Layout elements may only be defined as children of <appender> elements. -->

<layout type="log4net.Layout.PatternLayout,log4net">

  <!-- Defines the layout used by this appender -->

  <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt; - %m%n" />

</layout>

</appender>     

<root>

    <priority value="ERROR" />

    <!-- 文档上只看到level 元素?-->

    <!--level: Optional element, maximum of one allowed. Defines the logging level for this 

    logger. This logger will only accept event that are at this level or above-->

    <appender-ref ref="rollingFile" />

</root>     

<logger name="Cuyahoga.Core.Service.CoreRepository">

  <level value="ERROR" />

</logger>     

<logger name="Cuyahoga.Web.HttpModules.UrlHandlerModule">

  <level value="INFO" />

</logger>

</log4net>

</configuration>

<!-- root 在框架的体系里,所有的日志对象都是根日志(root logger)的后代。  因此如果一个日志对象没有在配置文件里显式定义,

则框架使用根日志中定义的属性。在<root>标签里,可以定义level级别值和Appender的列表。 如 果没有定义LEVEL的值,则缺

省为DEBUG。可以通过<appender-ref>标签定义日志对象使用的Appender对 象。<appender-ref>声明了在其他地方定义的Appender

对象的一个引用。在一个logger对象中的设置会覆盖根日志的设 置。 而对Appender属性来说,子日志对象则会继承父日志对象的

Appender列表。这种缺省的行为方式也可以通过显式地设定<logger>;标签的additivity属性为false而改变。-->  <!-- 格式名含义 %c

输出日志信息所属的类的全名 %d输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:

%d{yyy-MM-ddHH:mm:ss},输出类似:2002-10-18-22:10:28 %f输出日志信息所属的类的类名 %l输出日志事件的发生位置,

即输出日志信息的语句处于它所在的类的第几行 %m输出代码中指定的信息,如log(message)中的message %n输出一个回车换行

符,Windows平台为“/r/n”,Unix平台为“/n” %p输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输

出的,则为DEBUG,依此类推 %r输出自应用启动到输出该日志信息所耗费的毫秒数 %t输出产生该日志事件的线程名  -->    
在web程序中使用,将配置放在web.config,在winform程序中,将配置放在app.config中,并且在assemblyInfo.cs文件中添加[assembly: log4net.Config.DOMConfigurator()],才会在程序运行时加载配置节 ,或者如下在程序中调用

/// <summary>   

/// 应用程序的主入口点。   

/// </summary>   

[STAThread]   

static void Main(string[] args)   

{

  try

  {

    DOMConfigurator.Configure(

    new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));

     logger.Info("Start application...");

     Console.Writeline(“请按 <enter> 键退出...");

     System.Console.ReadLine();   

  }   catch (Exception e)   

  {   

    logger.Info (e);   

  }   

 }

}

转载:http://www.cnblogs.com/Dot-Boy/archive/2008/07/07/1237806.html

log4j.properties 使用

log4j.properties 使用 一.参数意义说明 输出级别的种类 ERROR、WARN、INFO、DEBUG ERROR 为严重错误 主要是程序的错误 WARN 为一般警告,

比如session丢失 INFO 为一般要显示的信息,比如登录登出 DEBUG 为程序的调试信息

配置日志信息输出目的地 log4j.appender.appenderName = fully.qualified.name.of.appender.class

1.org.apache.log4j.ConsoleAppender(控制台)

2.org.apache.log4j.FileAppender(文件)

3.org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)

4.org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)

5.org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

配置日志信息的格式 log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class

1.org.apache.log4j.HTMLLayout(以HTML表格形式布局),

2.org.apache.log4j.PatternLayout(可以灵活地指定布局模式),

3.org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),

4.org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

控制台选项

Threshold=DEBUG:指定日志消息的输出最低层次。

ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。

Target=System.err:默认情况下是:

System.out,指定输出控制台

FileAppender 选项

Threshold=DEBUF:指定日志消息的输出最低层次。

ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。

File=mylog.txt:指定消息输出到mylog.txt文件。

Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。

RollingFileAppender 选项 Threshold=DEBUG:指定日志消息的输出最低层次。

ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。

File=mylog.txt:指定消息输出到mylog.txt文件。

Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。

MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。

MaxBackupIndex=2:指定可以产生的滚动文件的最大数。

log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n 日志信息格式中几个符号所代表的含义: -X号: X信息输出时左对齐;

%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL, %d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 %r: 输出自应用启动到输出该log信息耗费的毫秒数 %c: 输出日志信息所属的类目,通常就是所在类的全名 %t: 输出产生该日志事件的线程名 %l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main (TestLog4.java:10) %x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。 %%: 输出一个"%"字符 %F: 输出日志消息产生时所在的文件名称 %L: 输出代码中的行号 %m: 输出代码中指定的消息,产生的日志具体信息 %n: 输出一个回车换行符,Windows平台为"/r/n",Unix平台为"/n"输出日志信息换行 可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如: 1)%20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。 2)%-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,"-"号指定左对齐。 3)%.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。 4)%20.30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边较远输出的字符截掉。

转载新浪博文地址不详请谅解

log4Net配置详解的更多相关文章

  1. Log4net 配置详解

    首先需在config文件的<configSections>节点中增加子节点配置. <configSections> <section name="log4net ...

  2. Log4Net使用详解

    1.Log4Net环境的搭建与基本配置 (1)Log4Net框架介绍     Log4net 是 Apache 下一个开放源码的项目,它是Log4j 的一个克隆版.我们可以控制日志信息的输出目的地.L ...

  3. (转)log4net使用详解

    说明:本程序演示如何利用log4net记录程序日志信息.log4net是一个功能著名的开源日志记录组件.利用log4net可以方便地将日志信息记录到文件.控制台.Windows事件日志和数据库(包括M ...

  4. 转:log4net使用详解

    说明:本程序演示如何利用log4net记录程序日志信息.log4net是一个功能著名的开源日志记录组件.利用log4net可以方便地将日志信息记录到文件.控制台.Windows事件日志和数据库(包括M ...

  5. Log4j配置详解(转)

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  6. logback 常用配置详解<appender>

    logback 常用配置详解 <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的 ...

  7. [转]阿里巴巴数据库连接池 druid配置详解

    一.背景 java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池.数据库连接池有很多选择,c3p.dhcp.proxool等,druid作为一名后起之秀,凭借其出色 ...

  8. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  9. logback配置详解3<filter>

    logback 常用配置详解(三) <filter> <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之一.返回DENY ...

随机推荐

  1. net.sf.json在处理json对象转换为普通java实体对象时的问题和解决方案

    我使用的net.sf.json是json-lib-2.4-jdk15.jar,把json对象转换为普通java实体对象时候有个问题,josn对象转换为java对象之后,json串里面的那几个小数点的值 ...

  2. vim文本编辑器的总结

    说起文本编辑器,在下就不得不说vim这个老古董了,说老吧,但也是老当益壮,至今还是有不少拥护者.的确,vim很实用,在下就先列出vi的优点吧. 1.如果精通了vim,就可以省去鼠标了. 2.vim是跨 ...

  3. 万能的Volley

    v1olley能干那些事?发送get请求 public void getJson() { String url = "http://"+host+":8080/web/j ...

  4. Dev控件用法 aspxTreeList 无刷新 aspxGridView 数据

    主要是利用 ASPxTreeList 点击事件回发服务器进行数据重新绑定 ASPxTreeList: <SettingsBehavior ExpandCollapseAction="N ...

  5. Linux学习笔记6——映射虚拟内存

    使用到两个函数mmap:用于分配内存:munmap:用于释放内存. mmap的原型如下: void *mmap(    void *start,   //指定映射的虚拟地址 0由系统指定开始位置    ...

  6. 解决外部机器通过VM内ubuntu IP 无法访问vm内web服务的问题

    1. 2.i root@ubuntu:/home/udapeng# ifconfig root@ubuntu:/www/sentry# nano uwsgi.ini root@ubuntu:/www/ ...

  7. java IO复习(三)

    package com.zyw.io; import java.io.File; import java.io.FilenameFilter; import java.util.ArrayList; ...

  8. HDU 3078 Network LCA

    题意:n个点 m个询问,下面一行是n 个点的权值 再下面n-1行是双向的边 然后m个询问:k u v 若k==0,则把u点的权值改为v,否则回答u->v之间最短路经过点的权值中  第k大的值是多 ...

  9. C#与C++函数调用

    在 上篇文章重点讲解数据类型的转换,在此基础上再讲解函数调用. 1.函数调用 c++中函数 INF_NET_API INF_RESULT WINAPI INF_NET_GetList(long lLo ...

  10. ServerVersion 引发了“System.InvalidOperationException”类型的异常

    遇到这样一个问题:添加互评信息,断点调试,跳转到BLL层后就直接跳到SqlHelper中弹出错误,说:未将对象设置引用到实例等.还请人帮忙调试代码,调试半天发现抽象工厂并没成功完成反射,奇怪的是:将出 ...