我在apache tomcat中滚动日志时遇到问题。 [在我的战争webapp] 这是我的日志处理程序配置:
private static final String logLayoutStr = "[%-20t][%d{dd MMM yyyy HH:mm:ss,SSS}] [%-40.40c{2}]: [%-5p] %m%n";
public static String LOG_FILE_PATH = "log file path";
private static final Integer MAX_BACKUP_INDEX = 200;
private static final String MAX_FILE_SIZE = "50MB";
public LogHandler() {
Logger.getRootLogger().setLevel(Level.WARN);
try {
addAppenderToLogger(mainLogger, logLayoutStr, LOG_FILE_PATH);
} catch (Exception e) {
}
}
private void addAppenderToLogger (Logger l, String layout, String path) throws IOException {
RollingFileAppender rollingFileAppender = new RollingFileAppender(new EnhancedPatternLayout(layout), path, true);
rollingFileAppender.setMaxBackupIndex(MAX_BACKUP_INDEX);
rollingFileAppender.setMaxFileSize(MAX_FILE_SIZE);
//we wrap each rolling appender with an async appender
AsyncAppender asyncAppender = new AsyncAppender();
asyncAppender.addAppender(rollingFileAppender);
l.addAppender(asyncAppender);
l.setLevel(Level.DEBUG);
}
我想提一下,在Apache tomcat的linux服务器上没有滚动问题。 在Windows服务器中,文件只是在没有任何滚动的情况下增加。
我可以给出一个简单的用法示例:
我有日志文件,超过50 MB - >应该转换为log.1并且应该打开一个新的日志文件进行写入。
当我停止tomcat服务,并将日志扩展更改为log.1(文件太大后)后,将打开一个新的日志文件(再次启动tomcat服务后)。
当新文件达到最大值(50 MB)时,log.1文件将重命名为log.2,但日志文件仍在增加,而不是更改为log.1并创建新的日志文件。
你能告诉我吗?