kotlin logging

2025-12-11 0 891

kotlin

Kotlin的轻量级乘法记录框架,写在。
方便且性能的伐木外墙。

呼叫日志方法,而无需检查是否启用了相应的日志级别

logger.debug { \" Some $expensive message! \" }

在幕后,如果不启用调试,则昂贵的消息不会评估:

 // This is what happens when you write the above ^^^
if (logger.isDebugEnabled) logger.debug( \" Some $expensive message! \" )

定义记录器,而无明确指定类名称

 // Place definition above class declaration to make field static
private val logger = KotlinLogging .logger {}

幕后val logger将在类上创建类/文件名:

 // This is what happens when you write the above ^^^
val logger = LoggerFactory .getLogger( \" package.ClassName \" )

kotlin风格中的日志异常

 // exception as first parameter with message as lambda
logger.error(exception) { \" a $fancy message about the $exception \" }

流利的登录以kotlin风格

logger.atWarn {
    message    = \" foo $bar \"
    cause      = exception
    payload    = buildMap(capacity = 3 ) {
        put( \" foo \" , 1 )
        put( \" bar \" , \" x \" )
        put( \" obj \" , Pair ( 2 , 3 ))
    }
}

入门

 import io.github.oshai.kotlinlogging.KotlinLogging

private val logger = KotlinLogging .logger {} 

class FooWithLogging {
    val message = \" world \"
    fun bar () {
        logger.debug { \" hello $message \" }
    }
}

下载

重要说明: Kotlin-Logging取决于Slf4J-API(在JVM伪像中)。在运行时,还需要依赖日志记录实现。有关操作配置SLF4J的更多详细信息。以及在java a guide-goging-in-java中的出色详细解释。
在版本5中,用户还应提供SLF4J-API依赖性。

简而言之,如果您只想将语句记录到Stdout,则可以添加以下依赖关系: org.slf4j:slf4j-simple:2.0.3

< dependency >
  < groupId >io.github.oshai</ groupId >
  < artifactId >kotlin-logging-jvm</ artifactId >
  < version >7.0.3</ version >
</ dependency >

请参阅kotlin-logging-maven中的完整示例。

gradle

implementation \' io.github.oshai:kotlin-logging-jvm:7.0.3 \'

或者,从Github或Maven-Central下载罐子。

乘数

提供了实验性乘法支持。
有关Wiki的更多信息,以及第21#45号问题。

概述

在看到了许多问题之类的问题之类的问题之类的方法和记录仪的最佳实践之后,似乎应该有一个在Kotlin中登录和获取记录器的标准。 Kotlin-Loging为Kotlin类使用的SLF4J-API提供了包装,具有以下优点:

  • 无需编写记录器和类名称名称样板代码。
  • 使用lambda expression {}使用懒惰的字符串记录消息的直接方法。
  • 仍然可以使用所有先前的SLF4J实现。

版本5与以前的版本

版本5与以前的版本不兼容(v.3,v.2,v.1)。组ID(Maven)和软件包名称更改。可以同时使用版本5和以前的版本并排使用,因此旧版本中的某些代码和一些新版本。也可以使用旧版本并使用新版本(以及反之亦然)。
从这个意义上讲,这是一种全新的依赖。

主要变化是:

  • Maven Group ID从io.github.microutils > io.github.oshai更改。
  • 根包从mu > io.github.oshai.kotlinlogging更改。
  • 不再提供SLF4J依赖关系(用户必须提供)。这意味着> = 5.x可以与SLF4J 1或2一起使用。
  • 乘法层次结构的变化可能会破坏兼容性。

问题#264和更改日志中的更多详细信息

谁在使用它

  • https://www.**jet*brains.com/youtrack/(https://www.**jet*brains.com/help/youtrack/youtrack/standalone/tandy-party-party-party-software-software-used-by-yby-youtrack.html)
  • https://*git*h*ub.com/dius/pact-jvm
  • https://g**ithub.com*/asynkronit/protoactor-kotlin
  • https://gi*thub.*com*/square/misk
  • https://gi*th*ub.co*m/openrndr/openrndr
  • https://github**.*com/jetbrains/xodus

还有更多…(上面添加您的名字)

常问问题

  • 为什么不使用普通SLF4J? Kotlin-Logging具有更好的本地Kotlin支持。它添加了更多功能,并启用了更少的样板代码。
  • 是否支持所有SLF4J实现(标记,参数等)?是的。
  • 位置记录是否可能?是的,在Kotlin-Loging 1.4中添加了位置意识。
  • 当我进行logger.debug时,我的Intellij Idea run Console不会显示任何输出。您知道如何将控制台记录器设置为调试或跟踪级别吗?这是一个IDE设置,还是可以在“ klogging”()的调用中设置它?设置日志级别是按实现完成的。 Kotlin-Logging和SLF4J只是基础日志记录lib(Log4J,logback等)的外墙。
  • 我可以访问实际的记录仪吗?在可用的平台中,通过DelegatingKLogger.underlyingLogger属性。

用法

  • 有关更多示例,请参见Wiki。

可以配置Intellij Live模板。对于文件级记录器配置以下内容:

  • 文本模板: private val logger = io.github.oshai.kotlinlogging.KotlinLogging.logger {}
  • 适用于Kotlin: top-level

支持

  • 在此处打开一个问题:https://github.com/oshai/kotlin-logging/issues
  • 用Kotlin-Logging标签在Stackoverflow中提出一个问题。
  • 在Slack频道上聊天:https://kotlinlang.sl***ack.com/messages/kotlin-logging
  • 在电报频道上聊天:https://t.me/klogging

更多链接

  • https://mediu*m.c*om*/@ohadshai/logging-in-kotlin-95A4E76388F2
  • Kotlin-Logging与Android的Ankologger
  • 如何出版Kotlin-Logging
  • kotlin logging没有大惊小怪
  • Dropwizard + Kotlin =项目Kronslott
  • 登录Kotlin – 正确的方法
  • https://bednarek.w*rocl*a*w.pl/log4j-in-kotlin/
  • https://***jaxenter.com/kotlin-logging-168814.html

贡献

任何贡献都将不胜感激。
请参阅:https://github.com/oshai/kotlin-logging/graphs/contributors中的贡献者列表

欢迎拉动请求!请参阅https://gi**thub.com*/oshai/kotlin-logging/blob/master/contributing.md中的说明。

用★显示您的❤

下载源码

通过命令行克隆项目:

git clone https://github.com/oshai/kotlin-logging.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 kotlin logging https://www.zuozi.net/34490.html

javacore
上一篇: javacore
teavm
下一篇: teavm
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务