代码之家  ›  专栏  ›  技术社区  ›  Phillip B Oldham

如何让.jar识别和使用捆绑的log4j.xml文件?

  •  2
  • Phillip B Oldham  · 技术社区  · 16 年前

    我正在和Ant一起构建一个项目,在构建过程中我想捆绑一个 log4j.xml 直接归档到 .jar 使分配更简单。我已经成功地将文件添加到 .jar文件 ,但似乎没有得到认可。

    我需要做什么来确保文件被 log4j 是吗?我是Java新手,所以一个清晰的描述,如果可能的话,用例子,会很棒!

    2 回复  |  直到 16 年前
        1
  •  1
  •   SiLent SoNG    16 年前

    这会起作用的。

    static // loads before anything else can
    {
       /*
        * If log4j.configuration system property isn't set,
        * then assume I'm inside a jar and configure
        * log4j using the config file that shipped in the jar.
        */
       if (System.getProperty("log4j.configuration") == null)
       {
          URL url = ClassLoader.getSystemResource("log4j.xml");
          DOMConfigurator.configure(url);
       }
    }
    
        2
  •  0
  •   matt b    16 年前

    如何调用应用程序?

    只要jar在类路径上,其中包含的任何文件也在类路径中。换句话说,log4j在查找 some.jar!log4j.xml 我是说, 如果 some.jar 从类路径开始。

    是否有其他log4j配置文件从类路径上的其他位置获取?您可以添加 -Dlog4j.debug 启动应用程序时,让log4j打印出有关正在使用哪个配置文件的调试信息。很有可能首先找到捆绑在另一个jar中的另一个配置文件。