CRI*_*ANZ 7 logging slf4j kotlin spring-boot
我有一个使用 logback 的带有默认日志配置的 spring boot 项目。我一直使用这种方法在我的应用程序中进行日志记录:
logger.info("Get user paginated: filter {}",user)
Run Code Online (Sandbox Code Playgroud)
现在我正在学习 Kotlin 并且我正在阅读有关字符串模板的内容。如果我使用 $ 重写我的句子将是:
logger.info("Get user paginated: filter $user")
Run Code Online (Sandbox Code Playgroud)
哪个是使用 Spring Boot 登录 Kotlin 的更好方法?
Ale*_*nov 11
更好的方法是两者都不是;添加https://github.com/MicroUtils/kotlin-logging并写入
logger.info { "Get user paginated: filter $user" }
Run Code Online (Sandbox Code Playgroud)
兼具两者的优点。
{}
SLF4J 支持的语法要点是避免无用的字符串连接和 toString() 调用,如果日志消息从未真正生成(例如因为级别高于 info.txt)。
模板字符串并不能避免: user.toString()
需要调用方法,并且需要将其结果附加到日志消息的静态部分,然后再传递给logger.info()
.
因此,如果您正在寻找最佳性能,请使用 SL4J 参数。如果您不关心并发现模板字符串更具可读性,请使用模板字符串。
归档时间: |
|
查看次数: |
5235 次 |
最近记录: |