Java Log4j多个文件

Java Log4j多个文件,java,logging,log4j,Java,Logging,Log4j,我有2个日志文件。 我已经为这两个文件定义了两个appender。 在一个类中,如果我需要将几个日志输出到一个文件,将几个日志输出到另一个文件,那么我需要有两个日志实例。 是否有更干净的方法来达到这一要求? 或者是否有一些log4j配置可以帮助我?您可以创建两个命名的记录器,如下所示: log4j.logger.system=debug, sys log4j.appender.sys=org.apache.log4j.RollingFileAppender log4j.appender.sys

我有2个日志文件。 我已经为这两个文件定义了两个appender。 在一个类中,如果我需要将几个日志输出到一个文件,将几个日志输出到另一个文件,那么我需要有两个日志实例。 是否有更干净的方法来达到这一要求?
或者是否有一些log4j配置可以帮助我?

您可以创建两个命名的记录器,如下所示:

log4j.logger.system=debug, sys

log4j.appender.sys=org.apache.log4j.RollingFileAppender
log4j.appender.sys.file=/logs/system.log
log4j.appender.sys.maxFileSize=1MB
log4j.appender.sys.maxBackupIndex=25
log4j.appender.sys.layout=org.apache.log4j.PatternLayout
log4j.appender.sys.layout.conversionPattern=%d{MMM dd HH:mm:ss} %-5p (%F:%L) - %m%n
您可以从以下代码中查找和使用:

Logger.getLogger("system").debug("...");

如果此日志筛选基于严重性,则可以为每个附件定义不同的日志级别(调试、信息、警告等)

如果需要不同的筛选,可以创建个人日志筛选,并将此筛选应用于appender。看