Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何在第三方库中找到用于slf4j日志记录的后端?_Scala_Logging_Slf4j - Fatal编程技术网

Scala 如何在第三方库中找到用于slf4j日志记录的后端?

Scala 如何在第三方库中找到用于slf4j日志记录的后端?,scala,logging,slf4j,Scala,Logging,Slf4j,我正在使用Scala库生成名为Bee Client的HTTP请求。Bee客户端,对于每个操作,都会将大量调试信息打印到控制台。它使用slf4j框架来实现这一点 我的问题是禁用日志记录并将其重定向到文件中 我尝试了不同的方法来禁用java.util.logging,但它们都没有任何区别。最后我意识到slf4j可以使用其他后端,但我不知道如何识别它 所以我可以使用Bee客户端的日志和源代码。如何理解它使用的是哪个日志后端?通常通过查看感兴趣的依赖项的瞬态依赖项,您可以了解它使用的是什么日志框架。在许

我正在使用Scala库生成名为Bee Client的HTTP请求。Bee客户端,对于每个操作,都会将大量调试信息打印到控制台。它使用slf4j框架来实现这一点

我的问题是禁用日志记录并将其重定向到文件中

我尝试了不同的方法来禁用java.util.logging,但它们都没有任何区别。最后我意识到slf4j可以使用其他后端,但我不知道如何识别它


所以我可以使用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,添加到类路径,并使用了它吗?如果是这样的话,只需查看罐子的内容即可。如果没有,你必须解释你是如何建造它的。