![](/img/trans.png)
[英]grails / gorm / org.hibernate.type at TRACE prints nothing
[英]Ambient filter / interceptors for domain classes in Gorm / Grails?
我只是为Grails系统集成了日志记录概念,并使用了过滤器机制来记录对控制器和操作的访问。 好处是我可以为所有控制器和动作定义一个过滤器。
对于域类,我只知道拦截器的概念,我必须为每个单独的域类编写一个拦截器。 是否有类似于域类过滤器的概念,在其中我可以定义所有域类的拦截器?
预先非常感谢,Joerg。
更新1:感谢您提供有关Stefan的Audit Logging插件的提示。 Audit Logging插件看起来是最简单的替代方法,但是根据我的喜好会生成太多的行/日志,并且不使用grails / log4j日志系统。
目前,我的要求是:
记录所有域类的插入/更新/删除(为了仅记录事件,而不是记录每个字段/列的每次更改)
登录到Grails日志记录系统(log4j),以便登录到stdout,单个数据库表或电子邮件(级别可能是,例如INFO或TRACE)
登录到特殊的域类(数据库表),以便在其之上构建日志可视化/管理系统(通过Grails控制器和操作)。 在这里,最好配置日志是在同一数据库中还是在另一个数据库/ grails-app中(以便以后拆分日志管理系统)。
据我所知,可以通过以下方式完成简单的“更改”日志记录:
域类中的单个日志语句(需要每个域类中的插入/更新/删除事件)
定义一个继承了插入/更新/删除事件的“日志”超类(使其难以在特殊域类中进行单个插入/更新/删除事件)
为所有控制器定义一个筛选器,但仅定义保存/更新/删除操作(问题:没有控制器或在一个操作中触摸多个域类,就不会记录对域类的更改)
希望这对其他人有帮助。 但是,我错过了什么吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.