java - 如何为简单的 Maven 应用程序配置 slf4j 以正确显示日志?

标签 java tomcat7 slf4j

我有一个简单的网络应用程序 ( src is here )。我尝试配置记录器。我有 logback.xml 文件,它看起来像:

<?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 Controller 中,用于测试的是:

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!");

当我启动应用程序时:mvn tomcat7:run 并转到页面:控制台上的索引页面 (/simple-spring-mvc) 仅显示:System out -Index called!

记录器看起来像:

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

请解释一下,如何正确配置或我做错了什么。

最佳答案

首先,如果你使用的是logback,你需要将其定义为maven依赖:

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

然后,我注意到您正在定义 slf4j-nop - 这是问题的根本原因 - 您可以继续并删除它。

希望这对您有所帮助。

关于java - 如何为简单的 Maven 应用程序配置 slf4j 以正确显示日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20762885/

相关文章:

java - 找不到.txt文件的原因?

java - 使用Hibernate Lazy Fetchtype时如何加载一组对象?

java - 如何解决某些文件处理失败的错误?

session-cookies - Tomcat 7 - JSESSIONID cookie 无法从 JavaScript 代码访问

eclipse - 如何在 eclipse 中的 tomcat 上部署 Maven 项目严重 : A child container failed during start java. util.concurrent.ExecutionException

java - 如何配置 Spring 和 SLF4J 以便获得日志记录?

java - Java 9 模块化应用程序中的 Logback 不起作用

java - 向上按钮退出应用程序?

java - 增加 Tomcat 堆大小

java - Java 日志记录、Log4J、Logback 的性能和内存占用