我在使用AKKA Typed 2.6.5和AKKA HTTP...
並得到以下錯誤資訊
SLF4J:没有找到SLF4J提供者.SLF4J:默认为无操作(NOP)记录器实施SLF4J:请参见 http:/www.slf4j.orgcodes.html#noProviders 以获得更多的细节。
我已经导入了所有可能的sbt仓库,并进行了测试,但仍然无法进行日志记录。
您需要向 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。