代码之家  ›  专栏  ›  技术社区  ›  Marplesoft

log4j在哪里/如何查找log4j.properties文件?

  •  25
  • Marplesoft  · 技术社区  · 16 年前

    Logger 类来记录信息消息。当我运行应用程序时,我会看到日志消息,使用我假设的默认appender和布局。伟大的。我遇到的问题是添加自己的配置。我就是这么做的:

    创建了一个带有自定义appender和日志级别的log4j.properties文件,并将其放入src文件夹(编译后会将其复制到bin文件夹)。运行应用程序-无更改。

    PropertyConfigurator.configure("log4j.properties")

    我要怎么做才能让log4j加载我的配置文件?

    6 回复  |  直到 16 年前
        1
  •  37
  •   FelixSFD Tushar Panjwani    6 年前

    在手册的标题下看看 Default Initialization Procedure

    精确的默认初始化算法定义如下:

    1. log4j.defaultInitOverride 系统属性的任何其他值,而不是“ false “将导致log4j跳过默认值 初始化过程(此过程)。
    2. 将资源字符串变量设置为 log4j.configuration 系统属性。指定的首选方式 log4j.配置 未定义,则将字符串变量资源设置为 " log4j.properties ".
    3. 通过调用 org.apache.log4j.helpers.Loader.getResource(resource,Logger.class) 返回一个URL。 log4j.属性 " Loader.getResource(java.lang.String) 搜索位置的列表。
    4. PropertyConfigurator 将用于解析URL以配置log4j,除非URL结束 “与” .xml DOMConfigurator 将使用。您可以选择指定自定义配置程序。这个 价值 log4j.configuratorClass 自定义配置器的完全限定类名。习俗 您指定的配置器必须实现 Configurator 接口。
        2
  •  8
  •   Marplesoft    16 年前

    Logger 班级。它导入了java.util.logging.Logger,当然它有自己的配置,不同于log4j。哦,好吧,希望其他人做这个,并通过阅读这个问题来解决它。

        3
  •  7
  •   Community Mohan Dere    9 年前

    您可以通过设置 log4j.debug

    您可以尝试使用 log4j.configuration

    另请参见: this question .

        4
  •  5
  •   hopper    13 年前

    问题可能出在 classpath ,如果 类路径

    它没有加载的原因(在我的例子中):存在冲突 log4j.properties 类路径 .

    文件未加载,其他地方可能有另一个文件正在覆盖它。

    log4j.属性 无法加载。

        5
  •  2
  •   leonbloy    16 年前

    log4j.properties

        6
  •  1
  •   Peter Van geenhoven    15 年前

    我知道这已经有几个月了,但是我觉得有必要指出scr文件夹没有“复制”到bin文件夹,也不是运行时类路径的一部分……(构建路径不是运行时类路径!)。Eclipse将src文件夹中的源文件编译到bin(或任何您喜欢的)文件夹。bin文件夹是运行时类路径的一部分。

    我只想指出这一点,因为这些线程也经常被非常初级的程序员阅读,而且我总是很沮丧,因为他们中的大多数人没有掌握Java类路径的精妙之处,因此在使用Java类路径时犯了可以避免的错误。

        7
  •  0
  •   devyJava    6 年前

    只是把它扔给任何一个正在努力加载log4j.properties的人。

    我通过添加以下行来修复我的问题:

    -Dlog4j.defaultInitOverride=TRUE
    

    Default Initialization Procedure 创造你自己的。

    我和我的孩子挣扎着。我做了从干净的罐子建立整个回购拉,没有任何工作。结合这一点和清理类文件使之工作。