我需要为不同布局中的所有方法和类生成两个日志文件。可能吗?
问问题
75 次
1 回答
0
log4j.properties
log4j.rootLogger=error, file1, file2, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.file1=org.apache.log4j.RollingFileAppender
log4j.appender.file1.File= file1.log
log4j.appender.file1.layout=org.apache.log4j.PatternLayout
log4j.appender.file1.layout.ConversionPattern=%p %t %c - %m%n <--- Different pattern
log4j.appender.file2=org.apache.log4j.RollingFileAppender
log4j.appender.file2.File= file2.log
log4j.appender.file2.layout=org.apache.log4j.PatternLayout
log4j.appender.file2.layout.ConversionPattern=%p (%F:%L) - %m%n <--- Different pattern
最简单的代码.java
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class SimplestCode {
static final Logger logger = Logger
.getLogger(in.mdtareque.log4j.test.SimplestCode.class);
public static void main(String[] args) {
PropertyConfigurator.configure("resources/log4j.properties");
logger.warn("WARN");
logger.error("ERROR");
logger.fatal("FATAL");
}
}
日志文件是在上述配置的项目主目录中创建的。
文件 1.log
ERROR main in.mdtareque.log4j.test.SimplestCode - ERROR
FATAL main in.mdtareque.log4j.test.SimplestCode - FATAL
文件 2.log
ERROR (SimplestCode.java:18) - ERROR
FATAL (SimplestCode.java:19) - FATAL
于 2012-12-19T16:48:41.807 回答