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

如何为特定的类和包设置日志级别?

茅慈
2023-03-14
logging.rootLogger=@DEBUG_LEVEL@, stdout, rollingFile, smtp
##logging.appender.stdout.Threshold=@DEBUG_LEVEL@
logging.appender.stdout=org.apache.log4j.ConsoleAppender
logging.appender.stdout.layout=org.apache.log4j.PatternLayout
logging.appender.stdout.layout.ConversionPattern=%d %-5p %c [%M:%L] %m%n

共有1个答案

沈枫涟
2023-03-14

您在这里声明了一个记录器,即rootlogger。它是所有记录器的“父”,所以如果您想要一个细粒度的配置,就必须声明一个更具体的记录器。

下面一行为com.foo.bar包下的所有类创建一个记录器:

log4j.logger.com.foo=WARN, stdout

类必须以以下方式实例化记录器:

Logger logger = Logger.getLogger(MyClass.class.getCanonicalName());
log4j.logger.onlyoneclasswilluseit=WARN, stdout
Logger logger = Logger.getLogger("onlyoneclasswilluseit");
 类似资料:
  • 使用java.util.Logging时,可以在logging.properties文件中配置特定类的日志级别(即具有类名称的子记录器),如下所示: 我使用类名在MyClass中创建子记录器,如下所示: 在Google Web Toolkit gwt.xml文件中有类似的配置方法吗?

  • 使用log4j1,我能够控制单个日志记录程序级别,但属性语句似乎不能使用log4j2。我将rootLogger级别设置为DEBUG,并希望通过commons-logging抑制来自authorize.NET的大量调试日志。我正在尝试设置级别,以从http头和有线日志发出警告。 下面是详细配置记录器的log4j文档(参见“配置log4j”) 这是一个示例日志输出: 这是我当前的log4j2.prop

  • 我正在从事一个使用SLF4J+日志返回的项目,我希望找到一种方法,通过使用REST API调用来配置不同作用域的日志级别。调用接收具有作用域(类、包或根路径)和所需日志记录级别的对象。我的项目中具有记录器的每个类都使用静态日志记录程序。

  • 我如何在log4j2中做到这一点?注我仍然需要使用新的属性文件(不是xml或json)。 TIA

  • 以下是我的项目结构: src- src- 下面是我的log4j2。属性文件: 对于上述配置,我无法生成日志 这行有什么问题吗。滚动的。name=com。迪特。滤器ax? 谁能告诉我我在这个配置中犯了什么错误? 或 建议我使用其他方法为上述指定的包结构生成日志

  • 问题内容: 我目前正在使用log4j的项目中。我正在运行一个测试用例(junit),并希望将日志级别设置为跟踪,以便我可以查看所有值是否正确。在项目中使用日志记录的类包含如下一行: 并使用类似这样的命令进行实际调试 我以前从未使用过log4j,有人知道我该如何仅为测试用例更改日志级别,最好仅通过在Eclipse的运行配置对话框中定义一个参数即可。 问题答案: 使用另一个配置文件 也许您可以指向另一