如何为类中的每个函数调用自动调用Kotlin中的函数

如何为类中的每个函数调用自动调用Kotlin中的函数,kotlin,Kotlin,我有一个具有多个函数的类 class Foo() { fun one() { //do something } fun two() { // do something } fun three() { // do something } } 如何触发对我拥有的Logger对象的调用,以便在日志中可以看到访问或调用的所有函数,而无需显式地对每个函数进行日志调用以保持代码干净。我试图对服务api调用中

我有一个具有多个函数的类

class Foo() {
    fun one() {
        //do something
    }

    fun two() {
        // do something
    }

    fun three() {
        // do something
    }
}
如何触发对我拥有的Logger对象的调用,以便在日志中可以看到访问或调用的所有函数,而无需显式地对每个函数进行日志调用以保持代码干净。我试图对服务api调用中调用的所有函数进行完整的日志跟踪,但我不希望出现类似的情况

class Foo() {
    fun one() {
        log.call()
        //do something
    }

    fun two() {
        log.call()
        // do something
    }

    fun three() {
        log.call()
        // do something
    }
}

你不能用普通的科特林来做,但这正是你想要做的


我自己没有使用过,但如果您想在Kotlin中使用它,您可以查看。另请参阅讨论和问题。

在Java中,我将编写一个IvocationHandler来创建动态代理。请参见

如果不显式地编写日志语句,您就不能这样做。从技术上讲,您可以使用编译器插件,但它们的文档很少,编写起来也很复杂。谢谢,我会检查这些