Log4j:是否需要有多个记录器对象来创建多个日志文件?

时间:2014-03-12 06:25:02

标签: java apache log4j

我试图将日志重定向到控制台和两个不同的日志文件..

这是我的log4j.properties文件:

log4j.rootLogger = DEBUG, console, file, csv


log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = %d{HH:mm:ss} %5p [%t] - %c.%M - %m%n


log4j.appender.file = org.apache.log4j.FileAppender
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern = %d %5p [%t] - %L %c.%M - %m%n
log4j.appender.file.File=./log/logfile.log


log4j.appender.csv = org.apache.log4j.FileAppender
log4j.appender.csv.layout = org.apache.log4j.PatternLayout
log4j.appender.csv.layout.ConversionPattern =%m%n
log4j.appender.csv.File = ./log/log.csv

现在的问题是日志记录正在发生,但两个文件都有两个日志分别记录在不同的文件中..我真的不知道我哪里错了!有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

Log4j不容易在多个文件之间拆分日志。基本思想是所有日志语句都被认为是平等的,应该被平等对待。

如果您使用slf4j作为API,您可以轻松地将后端从log4j切换到具有SiftingAppender的logback,正是出于此目的。

http://logback.qos.ch/manual/loggingSeparation.html