http://logging.apache.org/log4net/release/manual/configuration.html
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html
布局模式
http://images.blogcn.com/2006/10/22/9/unmi,20061022174034.jpg
(1) 调用了 log4j.info() 或是log4j.debug()方法...
(2) 建立一个Throwable的对象来取得当前运行堆栈的快照...Throwable.fillInStackTrace();
(3) 从抛出的Throwable对象中,来分析出当前log信息的行号...
但是,请注意,建立运行时的堆栈跟踪,对JVM来说,是一项非常大的开销!
所以,我们在配置log4j的PatternLayout的时候,如果是要上线到正式环境,一定要记者把参数关掉,
一般来说,用 “%d %-5p %m%n" 就可以满足了!
http://www.cnblogs.com/jimnox/archive/2008/11/04/1326277.html
log4net轻松使用日期作为动态文件名
2008-11-04 13:59 by JimLiu, 359 visits, 网摘, 编辑
由于用了NHibernate,所以log4net就不用白不用了。想用日期作为日志文件的名字,不会配置,g.cn之,发现园子里有前辈用编程解决了,觉得未免大动干戈。于是继续g.cn,找到了一个国外的文章,上面给出了我想要的答案。
一下是我写的一个配置
<appender name="dataAccessLogFile" type="log4net.Appender.RollingFileAppender,log4net" >
<file value="./Log/DataAccess/" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyy-MM-dd".log"" />
<maxSizeToRollBackups value="10" />
<maximumFileSize value="5MB" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<conversionPattern value="%d - %-5level - %c - %m%n" />
</layout>
</appender>
用过log4net的朋友应该都能看明白了吧?呵呵。
其中比较关键的是
<file value="./Log/DataAccess/" />这里我只指定一个前缀
<rollingStyle value="Date" />表示文件“滚动”的类型是日期
<datePattern value="yyyy-MM-dd".log"" />设置文件名后缀的格式,那个"起到的作用是转义,就是把.log当作字面义,而不是时间日期的格式定义。
<staticLogFileName value="false" />关掉固定文件名
这样就会生成按日期.log作为文件名的日志文件了。