2015-04-22 4 views
1

У меня есть tomcat 7, работающий на машине Windows в качестве сервиса. есть активная схема развертывания, где, если я удаляю военный файл в папке tomcat/webapps, он распаковывается и развертывается автоматически. Моя война файл выглядит следующим образом:Конфигурация simplelogger (slf4j) на Tomcat

MyApp.war 
+- META-INF 
+- WEB-INF 
    +- classes 
     + com.company... (the actual class files) 
     +-simplelogger.properties 
    +- lib 
     +- slf4j-api-1.7.12 
     +- slf4j-simple-1.7.12 
    +- web.xml 

В моем simplelogger.properties У меня есть этот выход свойство:

org.slf4j.simpleLogger.logFile = System.out

Предыдущие версия войны использовала system.out.println() для «регистрации», и все, что было wirrten для sysout, было добавлено к файлу tomcat/logs/stdout.log, поэтому я предполагаю, что это стандартное поведение tomcat.

К сожалению, моя новая установка не работает. Ведение журнала не отображается в файле stdout.log. Он отлично работает, когда я запускаю войну в затмении с помощью плагина maven/tomcat.

Какие детали конфигурации я пропустил? Я посмотрел в tomcat/conf папке для чего-нибудь, что имеет дело с лесозаготовками, и я обнаружил, что следующий:

  • В catalina.properties: ничего о регистрации.
  • В server.xml: ничего о регистрации
  • logging.properties: Я вижу много настроек, но ничего не связано с sysout или stdout.logs. Для справки: full file.

ответ

-1

Вы должны настроить «консольный appender» для вывода вывода System.out в файл журнала.

Базовая конфигурация в вашем log4j.xml будет выглядеть следующим образом:

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> 
<errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHandler"/> 
<param name="Target" value="System.out"/> 
<param name="Threshold" value="DEBUG"/> 
<layout class="org.apache.log4j.PatternLayout"> 
    <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/> 
</layout> 
</appender> 
+0

Я не использую log4j, и ни один не был там какой-нибудь файл log4j.xml, прежде чем я добавил slf4 апи. Так что что-то еще должно было заставить инструкции sysout.out перейти к stdout.log. Я пытаюсь использовать simplelogger вместо любых других привязок для достижения такого же эффекта. – user1884155