【发布时间】:2012-06-21 12:15:36
【问题描述】:
我想监控在 Grails 应用程序执行期间访问了我的哪些类。为此,我正在考虑将日志记录添加到所有自定义类的“方法调用之前”联合中,然后检查日志文件。 在不修改现有类的情况下添加此类拦截逻辑的最巧妙方法是什么?
元编程/AOP?
【问题讨论】:
-
一个解决方案是使用 groovy invokeMethod and getProperty 功能。
-
@Fabiano 但这意味着修改现有代码(实现/覆盖)。我希望将逻辑外部化并一次绑定到我的所有类。
-
您可以使用expandoMetaclass 在grails 的引导程序中为您的自定义类添加invokeMethod 和getPropery,而无需实现touch che 类。 take a look here
-
有趣的方法,但这需要在开始时急切地加载所有可用的类。我认为我的 JVM 不会高兴 :) 我有一个非常胖的应用程序......
标签: grails groovy metaprogramming aop