我不知道你想用你的记录器完成什么,但我向你展示了我已经做过的事情 ;-)
通常我将扩展函数放在它自己的文件中,该文件的名称类似于函数实际扩展的名称(例如,要么StringExtensionFunction
或如果与其目的更相关,并且可能仅在某些依赖项可用时才可用,我也做了类似的事情,例如JsoupExtensionFunctions
(有a String.toJsoupHtml()
,File.toJsoupXml()
等))。
如果我需要常量,我只需将它们放在该文件中,例如只需编写如下内容:
private const val MY_CONST = "my_const_value"
没有环绕class
,没有环绕object
。
关于logger
......因为记录器通常与某个名称/类相关联,我通常在每个(重要)类中放置一个记录器或将一些记录器与特定名称相关联......所以我不完全确定你的意图是什么。 .. 如果记录器返回您的扩展函数的容器(也许StringExtensionFunction.kt
是MY_CONST
..
如果您的意图是重用调用者记录器,那可能不会那么容易......(最简单的可能是将它传递给函数,但通常您不希望这样)......并且其他机制可能不会真的值得;-)