【发布时间】:2023-03-23 01:21:01
【问题描述】:
我的控制台应用程序采用log-level=<LEVEL> 选项。看一些examples in Java,看起来改变SLF4J记录器级别通常是可能的,但是scala-logging库似乎不是这种情况——不管我如何创建记录器它没有setLevel方法可用.有什么建议吗?
【问题讨论】:
标签: scala logging scala-logging
我的控制台应用程序采用log-level=<LEVEL> 选项。看一些examples in Java,看起来改变SLF4J记录器级别通常是可能的,但是scala-logging库似乎不是这种情况——不管我如何创建记录器它没有setLevel方法可用.有什么建议吗?
【问题讨论】:
标签: scala logging scala-logging
该库需要一个日志记录后端(您可以查看先决条件)。一旦你定义了它,你就可以通过配置文件来设置日志级别,例如:
// src/main/resources/logback.xml
<configuration>
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"/>
<root level="debug">
<appender-ref ref="stdout"/>
</root>
</configuration>
这将导致该特定记录器的日志级别设置为DEBUG。无论如何,如果您使用的是 slf4j 后端,这应该可以工作。希望对您有所帮助。
【讨论】:
基于this answer,我使用了这段代码,它为我完成了工作:
import ch.qos.logback.classic.{Level,Logger}
import org.slf4j.LoggerFactory
LoggerFactory
.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME)
.asInstanceOf[Logger]
.setLevel(Level.INFO)
【讨论】:
Logger 实例不再有方法 setLevel。