如何为jar配置log4j日志记录?

时间:2012-08-29 21:49:11

标签: java log4j

我的构建路径上有一个带有log4j.jar的项目A.我有许多类具有以下形式的日志记录语句:

Logger _log = Logger.getLogger(A.<>.class);
...
_log.info("...");

我将项目作为jar导出到另一个项目B.项目B已经拥有自己的log4j jar和它自己的.xml配置文件。我想在A中配置特定的类,以不同的“级别”登录到Console Apender。我该怎么办?

3 个答案:

答案 0 :(得分:1)

一般情况下,你没有。通常,您希望拥有一个log4j配置文件。但我想您可以从代码中明确加载配置,如the log4j documentation

中所述

答案 1 :(得分:1)

选择一个版本的log4j.jar,可能是较新版本。您只能使用一个版本。您需要合并项目A和项目B的日志记录配置。您可以在运行时在log4j类中执行此操作,但不要这样做。只需咬紧牙关,然后在源代码管理中将它们合并一次。

答案 2 :(得分:1)

嗯,基本上,你不应该这样做。可以这样想:如果以这种方式完成,那么任何应用程序中包含的每个库都将托管自己的日志记录配置,很可能会以非指定的顺序覆盖应用程序中的任何一个,以及彼此之间的任何一个。 。你不会想要的。所以不要。

[如果您确实想要这样做,您可以在jar中拥有属性文件,该文件可以被主应用程序中的xml文件覆盖。详见here。但不要。 :)]