1

我在我的 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");

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

4

2 回答 2

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>

Logback是 slf4j 的实现,也是log4j的继承者。

于 2011-04-10T17:10:09.613 回答
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)

于 2011-04-10T15:53:56.640 回答