我相信我剛纔錯誤配置它;有沒有人有配置RollingFileAppender的工作示例?
這似乎爲我工作的罰款@mcherm。見下文。
您是否當然您使用的是您認爲自己的log4j.properties?嘗試將.File
更改爲另一個路徑,以查看日誌輸出是否轉到新文件。你使用的是什麼版本的log4j?我正在運行1.2.15。
希望這會有所幫助。
我創建了以下測試程序:
package com.j256.ormlite;
import org.apache.log4j.Logger;
public class Foo {
private static Logger logger = Logger.getLogger(Foo.class);
public static void main(String[] args) {
for (int x = 0; x < 10000000; x++) {
logger.error("goodness this shouldn't be happening to us right here!!!!");
}
}
}
我log4j.properties文件認爲:
log4j.appender.MAIN_LOG=org.apache.log4j.RollingFileAppender
log4j.appender.MAIN_LOG.File=${catalina.base}/logs/webtop.log
log4j.appender.MAIN_LOG.layout=com.j256.ormlite.Log4JSimpleLayout
log4j.appender.MAIN_LOG.MaxFileSize=10MB
log4j.appender.MAIN_LOG.MaxBackupIndex=5
log4j.appender.MAIN_LOG.append=true
log4j.rootCategory=ALL, MAIN_LOG
注意,我刪除了這是無效的我的RollingFileAppender進行了DatePattern。我的佈局:
package com.j256.ormlite;
import org.apache.log4j.spi.LoggingEvent;
public class Log4JSimpleLayout extends org.apache.log4j.Layout {
@Override
public String format(LoggingEvent event) {
return "log message = " + event.getMessage().toString() + "\n";
}
@Override
public boolean ignoresThrowable() {
return true;
}
public void activateOptions() {
}
}
與-Dcatalina.base=/tmp/
跑我得到/tmp/logs/
文件哪去了索引#5,並且在大小爲10MB。如果我調整了MaxFileSize
或MaxBackupIndex
,它會適當調整。
也許,的確,我的問題是不僅僅是一個更加複雜的「我沒有配置是正確的」。我會嘗試以你提供給我的這個*精彩例子,看看我是否可以複製問題並從那裏開始。 – mcherm 2010-09-29 18:43:15