Log4j не показывает логирование строк при использовании через файл .jar - PullRequest
0 голосов
/ 25 февраля 2011

У меня есть программа, которая использует JAR-файл, который использует log4j.Это свойство log4j содержит этот шаблон:

[%-5p] (%d) %l : %m%n

, и когда моя программа обращается к методу внутри jar-файла, который выполняет журнал, она выдает следующее:

[INFO ] (2011-02-25 14:13:43,426) org.fractor.service.AppConfigService.getStringValueOf(?:?) : processing.user: root

Я попытался включить оригиналПапка src файла jar, и когда я снова запускаю программу, она выводит следующее:

[INFO ] (2011-02-25 14:13:43,426) org.fractor.service.AppConfigService.getStringValueOf(AppConfigService.java:125) : processing.user: root

Это выглядит нормально, но при создании файла jar программы, которая содержит jar, использующий log4j, это не таквключите папку src jar и, следовательно, выдает ошибку.

Это потому, что он просто ссылается на папку src в jar?Нужно ли включать в папку src банки?Похоже, что использование банки было бы бесполезным на этом этапе.

Есть ли другой способ для этого?Спасибо.

Ответы [ 2 ]

2 голосов
/ 25 февраля 2011

Похоже, файл jar содержит классы, которые были скомпилированы без отладочной информации.

Как вы обнаружили, это очень желательно.Я бы посоветовал подать сообщение об ошибке тем, кто отвечает за сборку банки, а затем восстановить ее самостоятельно, если можете.Если нет, то включите папку src, но правильный jar лучше.

0 голосов
/ 25 февраля 2011

Вам необходимо скомпилировать классы Java с включенной отладкой.В ant это будет выглядеть следующим образом:

<javac destdir="XXXX" source="1.5" target="1.5" debug="true" encoding="UTF-8">

Используя javac напрямую, вам нужно указать -g См. документы Javac .

...