Ran*_*ber 2 java logging log4j file
我想使用我的记录器写入两个不同的文件,声明如下:
public static final Logger logger = Logger.getLogger(Adapt.class);
PropertyConfigurator.configure("log4j.properties");
Run Code Online (Sandbox Code Playgroud)
log4j文件包含:
log4j.rootLogger=DEBUG, FA
#File Appender
log4j.appender.FA=org.apache.log4j.FileAppender
log4j.appender.FA.File=temp.ppr
log4j.appender.FA.layout=org.apache.log4j.PatternLayout
log4j.appender.FA.append=false
log4j.appender.FA.layout.ConversionPattern= %m%n
Run Code Online (Sandbox Code Playgroud)
是否可以使用记录器轻松地将不同的文本写入两个不同的文件?
如果没有,有没有办法用两个记录器做到这一点?(我尝试过并因为函数configure而出现问题,这是静态的.)
谢谢.
只需定义第二个记录器变量:
Logger otherLogger = Logger.getLogger("OTHER_LOGGER");
Run Code Online (Sandbox Code Playgroud)
为它定义配置(注意log4j.记录器 .OTHER_LOGGER语法cf. log4j.rootLogger,如user623395和venkatesh Dodla所指出的):
log4j.logger.OTHER_LOGGER=DEBUG, OtherAppender
log4j.additivity.OTHER_LOGGER = false
#File Appender
log4j.appender.OtherAppender=org.apache.log4j.FileAppender
log4j.appender.OtherAppender.File=temp2.ppr
log4j.appender.OtherAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.OtherAppender.append=false
log4j.appender.OtherAppender.layout.ConversionPattern= %m%n
Run Code Online (Sandbox Code Playgroud)
并像往常一样记录您的不同文本:
logger.debug("My normal log");
otherLogger.info("My special text");
Run Code Online (Sandbox Code Playgroud)