【问题标题】:multiple log levels in same log file in log4jlog4j中同一日志文件中的多个日志级别
【发布时间】:2015-08-13 07:00:19
【问题描述】:

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

log4j.rootLogger=INFO,WARN,stdout,file

应用程序启动时出现 log4j 错误:

Could not instantiate appender named WARN.

【问题讨论】:

  • 只配置最高级别。所以在这种情况下,INFO。它将记录 INFO 、 WARN、 ERROR 和 FATAL。
  • 我也想调试呢?
  • DEBUG 高于 INFO。因此,如果您也需要它,请配置 DEBUG。将其视为“
  • 请查看下面给出的答案,谢谢。

标签: java log4j


【解决方案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

【讨论】:

  • 不是“FATAL, ERROR, WARN, INFO, DEBUG, ALL”吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多