设置scala日志记录的日志级别

设置scala日志记录的日志级别,scala,logging,scala-logging,Scala,Logging,Scala Logging,我的控制台应用程序采用日志级别=选项。从某些方面看,似乎更改SLF4J记录器级别通常是可能的,但对于库,情况似乎并非如此-无论我如何创建记录器,它都没有可用的setLevel方法。有什么建议吗?该库需要一个日志后端(您可以查看先决条件)。定义后,可以通过配置文件设置日志记录级别,例如: //src/main/resources/logback.xml 后端。我希望这对您有所帮助。基于我使用的这段代码,它为我完成了以下工作: import ch.qos.logback.classic.{Level

我的控制台应用程序采用
日志级别=
选项。从某些方面看,似乎更改SLF4J记录器级别通常是可能的,但对于库,情况似乎并非如此-无论我如何创建记录器,它都没有可用的
setLevel
方法。有什么建议吗?

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

//src/main/resources/logback.xml
后端。我希望这对您有所帮助。

基于我使用的这段代码,它为我完成了以下工作:

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

LoggerFactory
  .getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME)
  .asInstanceOf[Logger]
  .setLevel(Level.INFO)

但这样我只能在构建时设置日志记录级别,对吗?运行时呢?我不确定你是否可以使用logback来完成。或者,您可以使用log4j后端,该后端提供您正在寻找的方法。这很好,因为scala日志可以与log4j后端一起工作:),原因是:java.lang.ClassCastException:org.slf4j.impl.Log4jLoggerAdapter无法强制转换为ch.qos.logback.classic.Logger。由于
Logger
实例不再具有方法
setLevel
,因此不推荐使用此答案。