Scala 如何在第三方库中找到用于slf4j日志记录的后端?
我正在使用Scala库生成名为Bee Client的HTTP请求。Bee客户端,对于每个操作,都会将大量调试信息打印到控制台。它使用slf4j框架来实现这一点 我的问题是禁用日志记录并将其重定向到文件中 我尝试了不同的方法来禁用java.util.logging,但它们都没有任何区别。最后我意识到slf4j可以使用其他后端,但我不知道如何识别它Scala 如何在第三方库中找到用于slf4j日志记录的后端?,scala,logging,slf4j,Scala,Logging,Slf4j,我正在使用Scala库生成名为Bee Client的HTTP请求。Bee客户端,对于每个操作,都会将大量调试信息打印到控制台。它使用slf4j框架来实现这一点 我的问题是禁用日志记录并将其重定向到文件中 我尝试了不同的方法来禁用java.util.logging,但它们都没有任何区别。最后我意识到slf4j可以使用其他后端,但我不知道如何识别它 所以我可以使用Bee客户端的日志和源代码。如何理解它使用的是哪个日志后端?通常通过查看感兴趣的依赖项的瞬态依赖项,您可以了解它使用的是什么日志框架。在许
所以我可以使用Bee客户端的日志和源代码。如何理解它使用的是哪个日志后端?通常通过查看感兴趣的依赖项的瞬态依赖项,您可以了解它使用的是什么日志框架。在许多情况下,它将使用某种java日志API,并允许您提供自己喜欢的日志实现。例如,查看项目的maven构建文件: 链接描述了如何在项目中设置Bee客户端。基本上,我们可以从SBT依赖性中学到:
libraryDependencies ++= Seq(
"uk.co.bigbeeconsultants" %% "bee-client" % "0.21.+",
"org.slf4j" % "slf4j-api" % "1.7.+",
"ch.qos.logback" % "logback-core" % "1.0.+",
"ch.qos.logback" % "logback-classic" % "1.0.+"
)
resolvers += "Big Bee Consultants" at "http://repo.bigbeeconsultants.co.uk/repo"
它使用slf4j
api和logback
实现进行日志记录。您所需要做的就是设置logback配置,并在项目中具有上面列出的依赖项
例如,在类路径的某处创建一个配置文件(可能在这里:src/main/resources/logback.xml
)。将此内容添加到其中,即可设置:
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>myApp.log</file>
<encoder>
<pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
</encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</root>
</configuration>
有关如何配置logback的更多详细信息。将解释另一种在运行时使用的更通用的方法。运行时类路径上有哪些日志框架?那么,您在构建时使用什么?你刚刚下载了一个jar,添加到类路径,并使用了它吗?如果是这样的话,只需查看罐子的内容即可。如果没有,你必须解释你是如何建造它的。