2014-03-05 4 views
0

Когда я запускаю свое приложение с использованием пакетов, созданных Maven, журналы выглядят отлично в соответствии с log4j.xml. Файл log4j.xml находится в том же месте, где находится pom.xml, поэтому я думаю, что сборка подбирает его и находит его надлежащим образом для среды выполнения.Журнал не запускается при запуске приложения в IntelliJ

Однако иногда мне нравится запускать приложение из IDE для отладки (IntelliJ IDEA), и среда IDE автоматически настраивает конфигурацию Maven без каких-либо дополнительных настроек. Одна из проблем заключается в том, что он никогда не регистрирует ничего и не бросает никаких исключений на logger.info("...") и тому подобное.

Можете ли вы угадать, что я могу сделать, чтобы вести журнал записи, когда в режиме отладки? Ниже находится log4j.xml. Я попытался изменить атрибут fileName на полный путь, но он не сработал. Например. можно ли задать Logger, в который физический файл записывается запись?

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration monitorInterval="30"> 
    <Appenders> 
     <File name="File" fileName="my_app_logs"> 
      <PatternLayout pattern="[%-6p]:[%d{ISO8601}]:[%t]:[%c{2}]:%m%n"/> 
      <ThresholdFilter level="debug"/> 
     </File> 
    </Appenders> 
    <Loggers> 
     <Root level="debug"> 
      <AppenderRef ref="File"/> 
     </Root> 
    </Loggers> 
</Configuration> 

ответ

0

Поместите файл log4j.xml в директорию src/main/resources.

+0

К сожалению, это не сработало – amphibient

0

Я бы предложил тот же ответ. Вы проверили, не создан ли файл «my_app_logs» в другом каталоге, чем тот, который был создан при запуске теста из maven.
. Вы должны проверить рабочий каталог теста из конфигурации запуска идеи.

Чтобы проверить, действительно ли загружен файл log4.xml, вы можете иметь консольный appender и назначить его root. Затем, если файл находится по log4j, вы увидите вывод в консоли IDEA.

Смежные вопросы