Log4j : 是否需要有多个日志对象来创建多个日志文件?[英] Log4j : is it required to have multiple logger objects for creating multiple log files?

本文是小编为大家收集整理的关于Log4j : 是否需要有多个日志对象来创建多个日志文件?的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

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

这是我的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>

本文地址:https://www.itbaoku.cn/post/1575143.html

问题描述

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.

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