log4j中同一日志文件中的多个日志级别

时间:2015-08-13 07:00:20

标签: java log4j

如何在log4j中将多个日志级别添加到同一日志文件中? 例如:

log4j.rootLogger=INFO,WARN,stdout,file

当应用程序启动时,它会给出log4j错误:

Could not instantiate appender named WARN.

1 个答案:

答案 0 :(得分:1)

阈值的目的是告诉log4j忽略优先级低于的所有日志记录请求。指定给定阈值并不限制您使用该阈值进行记录。

FileAppender fa = new FileAppender();
fa.setThreshold(Level.INFO);
fa.setAppend(true);
Logger.getRootLogger().addAppender(fa);

在上面的代码中,appender已配置为以INFO的阈值运行。这意味着以下代码将日志,因为DEBUG的优先级低于INFO

Logger logger = Logger.getLogger(SomeClass.class);
logger.debug("This will not log");

但是这段代码记录:

logger.warn("This debug message will log.");
logger.error("And this error message will also log.");

在这种情况下,WARNERROR的优先级都高于INFO