当前位置: 首页 > 知识库问答 >
问题:

如何使用log4j编写多级日志消息?(例如INFO和ERROR)

法和硕
2023-03-14

我是log4j的新手,我有以下疑问。

我有这样的配置,将所有定义到我的应用程序代码中的信息级别日志写入文件:

# Define the root logger with appender file
log4j.rootLogger = INFO, FILE

# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
#log4j.appender.FILE.File=${log}/log.out
#log4j.appender.FILE.File=C:/Projects/edi-sta/build/jar/mytest.log
log4j.appender.FILE.File=log.out

# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n

我的疑问是:如果除了记录INFO级别日志之外,我还想在文件中写入ERROR级别日志(或其他调试级别消息),我该怎么办?

Tnx

共有1个答案

储臻
2023-03-14

信息级别应自动包括错误和关键级别等。

您只需要将日志记录级别设置为ERROR,root用户就可以只打印上述错误。

您还可以为特定包中的类设置各种日志级别,即。

log4j.logger.com.mycompany.controller = DEBUG

log4j.logger.com.mycompany.service = INFO

log4j.logger.com.mycompany.repo = ERROR
 类似资料:
  • 问题内容: 此代码是否同时写入日志文件和控制台? 问题答案: 不,它不会同时写入两者。只会写入控制台。关于原始代码的简短说明。我想您在某处定义,但是代码仍然不正确。您需要在语句中使用引号,例如: 因为我认为您是要附加到文件中。否则,您的代码将抛出一个因为未定义的变量。 但是,正如其他人所说,您应该强烈考虑使用日志记录模块。这是一个如何同时写入控制台和日志文件的简单示例。该代码部分源自此处和此处:

  • 我想创建单独的日志文件,一个用于信息,另一个用于调试,我正在使用下面的log4j.property文件,请建议如何修改不同文件中的两级日志记录, 我想请求请发送我更新的属性文件而不是给我搜索或探索的指针,因为我已经花了3-4个小时在Google和StackOverflow上搜索这个解决方案, 提前道谢。

  • 问题内容: python的日志记录模块是否有一种简单的方法可以将具有DEBUG或INFO级别的消息以及具有更高级别的消息发送到不同的流? 反正这是个好主意吗? 问题答案: 不一定是一个好主意(将信息和调试消息混入正常输出中可能会造成混淆!),但可行,因为您可以有多个处理程序对象和每个对象的自定义过滤器,以便选择日志记录每个处理程序要处理的内容。

  • 我在我的项目中使用log4j。我想有标准输出、调试记录器和最终报告记录器。调试记录器几乎写调试/信息级别的消息。报告将是不同的记录器,只写信息消息。我尝试了不同的方法,阅读了很多示例,我仍然无法解决这个问题。要么我丢失了我的标准输出,要么我将所有调试写入两个记录器。 我的密码在这里 } 任何提示都将不胜感激