设置scala-logging的日志级别

Kom*_*owy 6 logging scala scala-logging

我的控制台应用程序可以log-level=<LEVEL>选择.看一下Java中的一些例子,看起来通常可以改变SLF4J记录器级别,但是使用scala-logging库似乎并非如此 - 无论我如何创建记录器,它都没有setLevel可用的方法.有什么建议?

And*_* T. 5

库需要一个日志记录后端(您可以查看先决条件).定义后,可以通过配置文件设置日志记录级别,例如:

// src/main/resources/logback.xml
<configuration>    
  <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"/>

  <root level="debug">
    <appender-ref ref="stdout"/>
  </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)

这将导致DEBUG为该特定记录器设置日志级别.无论如何,如果您正在使用slf4j后端,这应该可行.我希望这可以帮助你.

  • 但这样我只能在构建时设置日志记录级别,对吧?那么运行时呢? (2认同)

Kom*_*owy 5

基于这个答案,我使用了这段代码,它为我完成了工作:

import ch.qos.logback.classic.{Level,Logger}
import org.slf4j.LoggerFactory

LoggerFactory
  .getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME)
  .asInstanceOf[Logger]
  .setLevel(Level.INFO)
Run Code Online (Sandbox Code Playgroud)