如何在java中使用Log4j获取日志信息

如何在java中使用Log4j获取日志信息,java,jakarta-ee,logging,log4j,Java,Jakarta Ee,Logging,Log4j,在我的应用程序中,我们使用不同的日志文件。但是我无法找到日志消息发送到不同日志文件的方式。 我知道我们可以使用category在log4j.properties中指定包。 是否有任何方法可以指定记录器以转到某个特定文件并获取有关记录器的信息,即日志消息呈现的文件。下面是一个快速示例,如何在不同文件中记录不同的消息(错误和事件): log4j.logger.EventLogger=debug,events log4j.logger.ErrorLogger=debug,errors log4j.a

在我的应用程序中,我们使用不同的日志文件。但是我无法找到日志消息发送到不同日志文件的方式。 我知道我们可以使用category在log4j.properties中指定包。
是否有任何方法可以指定记录器以转到某个特定文件并获取有关记录器的信息,即日志消息呈现的文件。

下面是一个快速示例,如何在不同文件中记录不同的消息(错误和事件):

log4j.logger.EventLogger=debug,events
log4j.logger.ErrorLogger=debug,errors

log4j.appender.events=org.apache.log4j.FileAppender
log4j.appender.events.File=events.log
log4j.appender.events.append=false
log4j.appender.events.layout=org.apache.log4j.PatternLayout
log4j.appender.events.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %F:%L - %m%n

log4j.appender.errors=org.apache.log4j.FileAppender
log4j.appender.errors.File=errors.log
log4j.appender.errors.append=false
log4j.appender.errors.layout=org.apache.log4j.PatternLayout
log4j.appender.errors.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %F:%L - %m%n
现在,您只需创建两个记录器:

Logger eventLogger = Logger.getLogger("EventLogger");
Logger errorLogger = Logger.getLogger("ErrorLogger");

关于第二个问题-是的,您可以在运行时获得有关记录器的信息:


您的意思是要创建一个必须保存日志信息的文件吗?请阅读中有关配置的部分。