AKKA型SLF4J NOP警告。

问题描述 投票:0回答:1

我在使用AKKA Typed 2.6.5和AKKA HTTP...

並得到以下錯誤資訊

SLF4J:没有找到SLF4J提供者.SLF4J:默认为无操作(NOP)记录器实施SLF4J:请参见 http:/www.slf4j.orgcodes.html#noProviders 以获得更多的细节。

我已经导入了所有可能的sbt仓库,并进行了测试,但仍然无法进行日志记录。

akka slf4j akka-http
1个回答
1
投票

您需要向 SLF4J API 的实现添加一个依赖关系。SLF4J 只是一个接口,需要您提供一个您所选择的实现,如在 从错误信息链接的文件.

一个流行的实现是 登录. 你可以把它加入到你的项目中,把它添加到你的 libraryDependencies:

libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.2.3"

您可以通过添加一个文件来配置它,该文件位于 src/main/resources/logback.xml 有这样的内容。

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

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>myapp.log</file>
        <immediateFlush>false</immediateFlush>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>myapp_%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>[%date{ISO8601}] [%level] [%logger] [%marker] [%thread] - %msg MDC: {%mdc}%n</pattern>
        </encoder>
    </appender>

    <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
        <queueSize>8192</queueSize>
        <neverBlock>true</neverBlock>
        <appender-ref ref="FILE" />
    </appender>

    <root level="INFO">
        <appender-ref ref="ASYNC"/>
    </root>
</configuration>

你可以根据你的应用需求进行配置。参见 登录手册 以获取配置的详细信息。一定要像上面演示的那样使用异步追加器,这样日志记录就不会导致Akka调度器线程的IO阻塞。

Akka文档中有更多的信息,网址是 https:/doc.akka.iodocsakkacurrenttypedlogging.html#slf4j-backend。

© www.soinside.com 2019 - 2024. All rights reserved.