Как получить .jar для распознавания и использования файла log4j.xml в комплекте? - PullRequest
2 голосов
/ 23 июля 2010

Я собираю проект с помощью ant, и во время сборки я хотел бы связать файл log4j.xml непосредственно в .jar, чтобы упростить распространение. Мне удалось добавить файл в .jar, но он не распознается.

Что мне нужно сделать, чтобы файл был распознан и использован log4j? Я новичок в Java, поэтому было бы неплохо иметь четкое описание с примерами!

Ответы [ 2 ]

1 голос
/ 23 июля 2010

Это бы как-то работало.

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);
   }
}
0 голосов
/ 23 июля 2010

Как вызывается ваше приложение?

Пока JAR находится в пути к классам, любой содержащийся в нем файл также находится в пути к классам. Другими словами, log4j не должен иметь проблем с поиском some.jar!log4j.xml, , если some.jar находится в пути к классам для начала.

Существуют ли другие файлы конфигурации log4j из других мест на пути к классам? Вы можете добавить -Dlog4j.debug к запуску вашего приложения, чтобы log4j распечатывал отладочную информацию о том, какой файл конфигурации используется. Вполне возможно, что сначала будет найден другой файл конфигурации, связанный с другим JAR.

...