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作為文件名的日志文件了。