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

发布于 2024-10-31 13:50:09 字数 593 浏览 2 评论 0原文

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

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

I'm using SLF4J for the first time in my Maven project, but I can't get it to output anything (its creators evidently don't subscribe to the "useful default behavior" philosophy).

I added the following to my pom.xml:

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

And I'm using it like this:

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

      ...

logger.error("test error");

Right now I don't need anything fancy, I just need it to log to the console. How do I enable this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情话难免假 2024-11-07 13:50:09

我使用 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 的实现,也是 slf4j 的后继者="http://logging.apache.org/log4j/1.2/" rel="nofollow">log4j。

My usual config for Java projects with Maven:

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 or/and 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 is a implementation of slf4j and the successor of log4j.

伏妖词 2024-11-07 13:50:09

看来您正在使用 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)

It seems that you are using Sli4j instead of Slf4j.
Try to use Slf4j directly:

<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>

(I use 1.5.11 as slg4j.version, but latest available is 1.6.1)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文