Jak*_*ter 9 logging kotlin kotlin-logging
为了在我的Kotlin项目中进行日志记录,我使用的是kotlin-logging,这非常好用但是我错过了一个非常重要的问题:如何配置记录器的日志级别?
默认情况下,它设置为info,我想将其设置为调试.由于Github页面上没有任何内容,也没有任何方法可以通过编程方式设置级别,所以我查看了slf4j,因为kotlin-logging是一个包装器.
显然我必须像这样设置一个系统属性:
-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG
Run Code Online (Sandbox Code Playgroud)
但是我不知道怎么在Kotlin这样做.
有人可以帮帮我吗?
我们没有办法从slf4j api更改日志级别,我们需要依赖实现
通过查看Logger界面slf4j,您可以看到它具有isLevelEnabled()所有级别,但不是设置器.因此,设置级别是特定于实现的,它基于您使用的基础日志记录平台.
从你的问题看起来你slf4j SimpleLogger用作背后的层slf4j.因为SimpleLogger,您只能通过您已经完成的属性更改日志级别.有关更多信息,请参阅此问题.
System.setProperty(org.slf4j.impl.SimpleLogger.DEFAULT_LOG_LEVEL_KEY, "TRACE");
Run Code Online (Sandbox Code Playgroud)
请注意,创建记录器后,无法更改日志级别.如果需要动态更改日志记录级别,可能需要将log4j与SLF4J一起使用.
我在Spring Boot应用程序中使用 kotlin-logging。
运行应用程序
-Dlogging.level.com.mydomain.myapp=DEBUG
Run Code Online (Sandbox Code Playgroud)
(替换com.mydomain.myapp为所需的包命名空间或root全部替换。)
或者,您可以将该属性添加到应用程序属性文件中
logging.level.com.mydomain.myapp = DEBUG
Run Code Online (Sandbox Code Playgroud)
-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG-Dorg.slf4j.simplelogger.defaultlog=DEBUG--debug(作为程序选项之一)| 归档时间: |
|
| 查看次数: |
3084 次 |
| 最近记录: |