如何让SLF4J输出一些日志记录语句?

时间:2011-04-10 15:39:33

标签: java logging slf4j

我在Maven项目中第一次使用SLF4J,但我无法输出任何东西(它的创建者显然没有订阅“有用的默认行为”理念)。

我在pom.xml中添加了以下内容:

<dependency>
    <groupId>com.googlecode.sli4j</groupId>
    <artifactId>sli4j-slf4j-simple</artifactId>
    <version>2.0</version>
    <type>jar</type>
    <scope>compile</scope>
</dependency>

我正在使用它:

final Logger logger = LoggerFactory.getLogger(UdpRemoteConnection.class);

      ...

logger.error("test error");

现在我不需要任何花哨的东西,我只需要它来登录控制台。我该如何启用它?

2 个答案:

答案 0 :(得分:2)

我通常使用Maven配置Java项目:

的pom.xml:

...
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.6.1</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>0.9.26</version>
</dependency>
...

src / main / resources / logback.xml或/和src / test / resources / logback.xml:

<configuration>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <layout class="ch.qos.logback.classic.PatternLayout">
      <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
    </layout>
  </appender>

  <root level="debug">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>

Logbackslf4j的实现,是log4j的继承者。

答案 1 :(得分:1)

您似乎正在使用Sli4j而不是Slf4j 尝试直接使用Slf4j:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${slf4j.version}</version>
</dependency>


<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>${slf4j.version}</version>
</dependency>

(我使用1.5.11作为slg4j.version,但最新版本是1.6.1)