如何配置 kotlin-logging 记录器
how to configure kotlin-logging logger
为了在我的 Kotlin 项目中进行日志记录,我使用了 kotlin-logging,它非常好用,但是我遗漏了一个非常重要的要点:如何配置记录器的日志级别?
默认设置为信息,我想将其设置为调试。由于 Github 页面上没有关于此的内容,也没有任何以编程方式设置级别的方法,我查看了 slf4j,因为 kotlin-logging 是它的包装器。
显然我必须像这样设置系统 属性:
-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG
但是我不知道如何在 Kotlin 中执行此操作。
谁能帮帮我?
We do not have a way to change log level from slf4j api and we need to rely on implementation
通过查看slf4j
的Logger
界面,可以看到所有级别都有isLevelEnabled()
,但没有setter。因此,设置级别是特定于实现的,它基于您使用的底层日志记录平台。
从你的问题来看,你似乎使用 slf4j SimpleLogger
作为 slf4j
后面的图层。对于 SimpleLogger
,您只能像您已经完成的那样通过属性更改日志级别。
有关详细信息,请参阅 this question。
System.setProperty(org.slf4j.impl.SimpleLogger.DEFAULT_LOG_LEVEL_KEY, "TRACE");
Please note that once the logger is created the log level can't be changed. If you need to dynamically change the logging level you might want to use log4j with SLF4J.
如果您在 Android 上使用 kotlin-logging
,简单的答案是:只需使用 slf4j-handroid。
它是(最近弃用!)slf4j-android
的一个简单分支,但它没有继承 令人愉快的 行为,例如要求设置系统属性 这样你就可以看到你的调试日志了。
我在 Spring Boot 应用程序中使用 kotlin-logging。
有效的方法
运行 申请
-Dlogging.level.com.mydomain.myapp=DEBUG
(将 com.mydomain.myapp
替换为所需的包命名空间或 root
全部替换。)
或者您可以将 属性 添加到 应用程序属性 文件
logging.level.com.mydomain.myapp = DEBUG
什么没用
-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG
-Dorg.slf4j.simplelogger.defaultlog=DEBUG
--debug
(作为程序选项之一)
为了在我的 Kotlin 项目中进行日志记录,我使用了 kotlin-logging,它非常好用,但是我遗漏了一个非常重要的要点:如何配置记录器的日志级别?
默认设置为信息,我想将其设置为调试。由于 Github 页面上没有关于此的内容,也没有任何以编程方式设置级别的方法,我查看了 slf4j,因为 kotlin-logging 是它的包装器。
显然我必须像这样设置系统 属性:
-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG
但是我不知道如何在 Kotlin 中执行此操作。
谁能帮帮我?
We do not have a way to change log level from slf4j api and we need to rely on implementation
通过查看slf4j
的Logger
界面,可以看到所有级别都有isLevelEnabled()
,但没有setter。因此,设置级别是特定于实现的,它基于您使用的底层日志记录平台。
从你的问题来看,你似乎使用 slf4j SimpleLogger
作为 slf4j
后面的图层。对于 SimpleLogger
,您只能像您已经完成的那样通过属性更改日志级别。
有关详细信息,请参阅 this question。
System.setProperty(org.slf4j.impl.SimpleLogger.DEFAULT_LOG_LEVEL_KEY, "TRACE");
Please note that once the logger is created the log level can't be changed. If you need to dynamically change the logging level you might want to use log4j with SLF4J.
如果您在 Android 上使用 kotlin-logging
,简单的答案是:只需使用 slf4j-handroid。
它是(最近弃用!)slf4j-android
的一个简单分支,但它没有继承 令人愉快的 行为,例如要求设置系统属性 这样你就可以看到你的调试日志了。
我在 Spring Boot 应用程序中使用 kotlin-logging。
有效的方法
运行 申请
-Dlogging.level.com.mydomain.myapp=DEBUG
(将 com.mydomain.myapp
替换为所需的包命名空间或 root
全部替换。)
或者您可以将 属性 添加到 应用程序属性 文件
logging.level.com.mydomain.myapp = DEBUG
什么没用
-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG
-Dorg.slf4j.simplelogger.defaultlog=DEBUG
--debug
(作为程序选项之一)