У меня проблема при экспорте в исполняемый банку.другой log4j.xml при экспорте jar из eclipse
Я использую Maven и SLF4J с log4j
Мой pom.xml
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.2</version>
<scope>runtime</scope>
</dependency>
Я добавил log4j.xml в/SRC/Java/основной (тот же, что в сгенерированном целевой папке):
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="FILE" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="/media/dlm/log/dlm.log" />
<param name="Threshold" value="INFO" />
<param name="Append" value="false" />
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="1" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}:%L] %m %n" />
</layout>
</appender>
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<param name="Threshold" value="INFO" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{ABSOLUTE} %-5p [%c{1}:%L] %m %n" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="FILE" />
</root>
</log4j:configuration>
Но когда я экспортировать из затмение в log4j.xml изменяется для следующего:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="FILE" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="/tmp/dlm/log4j.log" />
<param name="Threshold" value="INFO" />
<param name="Append" value="false" />
<param name="MaxFileSize" value="1MB" />
<param name="MaxBackupIndex" value="1" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %X{service} %X{user} [%c] %m%n" />
</layout>
</appender>
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<param name="Threshold" value="ERROR" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{ABSOLUTE} %-5p %X{service} %X{user} [%c{1}] %m%n" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="CONSOLE" />
</root>
</log4j:configuration>
Я попытался использовать файл log4j.properties, как показано here, но ничего.
Заранее благодарю ваши ответы.
Почему вы используете экспорт Eclipse и почему бы вам не позволить Maven построить ваш артефакт с помощью 'mvn package'? –
Просто, я думаю, проще, чем открыть терминал и писать в команду каждый раз. Тем не менее, я сделаю это для сравнения, чтобы проверить, если происходит эффект. – molavec
Вместо использования терминала вы можете щелкнуть правой кнопкой мыши проект Eclipse, выбрать «Запустить как» с помощью «Maven install» или «Maven build ...». После первого запуска вы можете добавить настройку в «Выполнить» -> «Организовать избранное», чтобы она вставлялась в меню. –