在我的应用程序中,我们使用不同的日志文件。但我无法找到日志消息进入不同日志文件的方式。 我知道我们可以使用category在log4j.properties中指定包。 有没有办法指定记录器转到某个特定文件,并获取有关记录器的一些信息意味着日志消息所呈现的文件。
答案 0 :(得分:2)
以下是一个简单示例,如何在不同文件中记录不同的消息(错误和事件):
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");
关于你的第二个问题 - 是的,你可以在运行时获得有关记录器的信息: