gpt4 book ai didi

java - 如何在项目级别配置log4j?

转载 作者:搜寻专家 更新时间:2023-11-01 02:49:26 25 4
gpt4 key购买 nike

我有一个 java 项目(注意:- 它不是 Web 项目)。我正在使用 log4j 来记录消息。

目前我正在执行的步骤如下:

  • 在项目级别创建了一个 log4j.properties 文件。

  • 声明记录器 logger = Logger.getLogger(MyClass.class);

  • 然后使用 -> PropertyConfigurator.configure("log4j.properties"); 配置属性

  • 然后使用 logger.debug("message");记录我的消息。

但是我觉得这种方法的问题是我必须在项目的所有类中做同样的事情,即从声明 Logger logger 开始的所有步骤。

有什么方法可以让我在我的项目中只在一个地方配置我的记录器变量一次,然后只使用记录器的声明变量来记录消息?

最佳答案

恕我直言,您不应该为正常的日志记录目的而使用通用的记录器。每个类都应该通过 Logger logger = Logger.getLogger(MyClass.class); 创建自己的记录器。当您的类文件很少时,这似乎是一种开销,但最好遵循这一点。
通过遵循这种记录器模式,您可以在配置级别(在 log4j.properties 中)灵活地控制任何级别(整个应用程序或任何包或任何类)的日志记录级别。

您可以在您的类路径中提供 log4j.properties,log4j 将自动获取它。
PropertyConfigurator.configure("log4j.properties"); 是不需要。

不过,如果您想这样做,您可以创建自己的记录器类 MyLogger,并使用 static 方法进行记录,这将包装对记录器的实际调用。然后,您可以从您的个人类中调用 MyLogger.log()MyLogger.debug() 进行记录。

关于java - 如何在项目级别配置log4j?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14190529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com