2013-12-24 2 views
3

У меня есть простой веб-приложение (src is here). Я пытаюсь настроить регистратор. У меня есть logback.xml файл, который выглядит следующим образом:Как настроить slf4j для простого приложения maven для правильного отображения журналов?

<?xml version="1.0" encoding="UTF-8"?> 

<configuration> 
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder by default --> 
    <encoder> 
     <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern> 
    </encoder> 
    </appender> 
    <root level="DEBUG"> 
    <appender-ref ref="STDOUT" /> 
    </root> 
</configuration> 

и pom.xml зависимостей:

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-api</artifactId> 
    <version>1.7.5</version> 
</dependency> 

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>jcl-over-slf4j</artifactId> 
    <version>1.7.5</version> 
    <scope>runtime</scope> 
</dependency> 

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>log4j-over-slf4j</artifactId> 
    <version>1.7.5</version> 
</dependency> 

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-nop</artifactId> 
    <version>1.7.5</version> 
</dependency> 

В Index.javaконтроллер для теста:

LOG.info("LOG Info - Index called!"); 
LOG.warn("LOG Warn -Index called!"); 
LOG.trace("LOG Trace -Index called!"); 
LOG.error("LOG Error -Index called!"); 
LOG.debug("LOG Debug -Index called!"); 
System.out.println("System out -Index called!"); 

когда я tart app: mvn tomcat7: запустите и перейдите на страницу: указательная страница (/ simple-spring-mvc) на консоли отображается только: System out -Index called!.

Logger выглядит следующим образом:

private static final Logger LOG = LoggerFactory.getLogger(Index.class); 

Пожалуйста, объясните мне, как настроить его должным образом или что я сделал неправильно.

+1

http://java.dzone.com/articles/adding-slf4j-your-maven – Hackerman

+1

зачем вам 'slf4j-nop', а где' logback-classic'? – hoaz

ответ

1

Во-первых, если вы используете Logback, вам нужно определить его как Maven зависимость:

<dependency> 
    <groupId>ch.qos.logback</groupId> 
    <artifactId>logback-classic</artifactId> 
    <version>1.0.11</version> 
</dependency> 

Затем я замечаю, что вы определяете slf4j-nop - это коренная причина ваших проблем - вы можете пойти вперед и удалить это.

Надеюсь, это поможет.

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