问题描述
我试图将日志重定向到控制台和两个不同的日志文件.
这是我的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
现在的问题是日志记录正在发生,但是两个文件都有两个日志,这些日志本来可以在不同的文件中分别记录..我真的不知道我要去哪里错了!任何人都可以帮我吗?
推荐答案
log4j不容易允许在多个文件之间分配日志.基本思想是所有日志语句都被视为平等,应平等对待.
如果使用SLF4J作为API,则可以轻松地将后端从log4j切换到logBack,该log4j完全出于此目的,它具有siftingappender.
http://logback.qos.qos.cos.ch/manual/loggingsepelation.html /p>
问题描述
i was trying to redirect the log to console and two different log files..
this is my log4j.properties file:
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
now the problem is that the logging is happening, but both the files have both the logs that were meant to be logged separately in different files.. i really dont know where am i going wrong! can anyone please help me out??
推荐答案
Log4j does not easily allow for splitting logs between multiple files. The basic idea is that all log statements are considered equal and should be treated equally.
If you were using slf4j as the API you could easily switch the backend from log4j to logback which has SiftingAppender for exactly this purpose.