log4j属性文件:如何配置?

时间:2010-03-26 09:24:40

标签: java logging log4j

我使用log4j的程序是:

  1. .properties 文件放在项目文件夹中的某个位置
  2. 在初始化方法中,只运行一次,调用 PropertyConfigurator.configure(“path_to_file”)
  3. 在我们需要使用logger的每个方法中,我们定义一个静态记录器变量,只需调用 getLogger(class)
  4. 这是对的吗? 如果未定义初始化模块会发生什么?我在哪里可以放置“log4j.properties”文件,以便我根本不必调用propertyconfigurator.configure?如果那是不可能的,可以在每个使用记录器的方法中调用 PropertyConfigurator.configure(“path_to_file”)吗?

2 个答案:

答案 0 :(得分:10)

如果你把它放在类路径中的某个地方,Log4J会自动加载它。它的典型位置是源(或资源)根目录。这样它也可以被复制到jar的根目录中(如果你从类文件中创建一个)。

具体细节取决于您使用的构建系统。例如。在Maven中,惯例是将其放在src/main/resources

答案 1 :(得分:3)

log4j的默认初始化过程记录在log4j教程的this section中。这详细解释了log4j用于查找日志记录配置的步骤。

配置log4j的最简单方法是将属性文件放在允许类加载器使用名称“/log4j.properties”找到它的位置。您还可以使用其他方法,包括设置系统属性,以编程方式加载属性文件,甚至通过log4j API实例化Loggers,Appender等。 (不是后者是个好主意......)

(将log4j属性文件放在Maven项目的“src / main / resources”中只是将文件放入应用程序的类路径根目录的一种可能方法之一。)