![](/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.