【问题标题】:How to get logger information by using Log4j in java如何在java中使用Log4j获取记录器信息
【发布时间】:2014-11-07 11:16:19
【问题描述】:
在我的应用程序中,我们使用不同的日志文件。但我无法找到日志消息去往不同日志文件的方式。
我知道我们可以通过使用类别来指定 log4j.properties 中的包。
有什么方法可以指定记录器转到某个特定文件并获取有关记录器的一些信息,这意味着正在呈现日志消息的文件。
【问题讨论】:
标签:
java
jakarta-ee
logging
log4j
【解决方案1】:
这里有一个简单的例子,如何在不同的文件中记录不同的消息(错误和事件):
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");
关于您的第二个问题 - 是的,您可以在运行时获取有关记录器的信息:
Finding Log4J log file