指定要在grails审核日志插件中审核的特定字段

时间:2012-05-09 17:51:13

标签: grails plugins audit

我正在使用http://grails.org/plugin/audit-logging插件,我只对审核大型域类中的单个字段感兴趣。我可以指定一个冗长的“忽略”列表,但理想情况下我想指定字段的白名单,这样如果添加新字段,则无需维护忽略列表以避免它们被自动审计,这可能是一个性能风险。

这可能吗?我没有在插件的文档中看到它的提及。

1 个答案:

答案 0 :(得分:1)

我认为您只能使用事件处理程序而不是标准审核日志记录来执行此操作。您可以像这样设置审核

static auditable = [handlersOnly: true]

您可以创建一个白名单

def whiteList = ['name','age',...]

然后创建on *事件来处理保存,删除或更改事件,并遍历白名单以在旧地图和新地图中查找该密钥:

def onChange = {oldMap, newMap ->
    whiteList.each{propName->
       if(oldMap[propName] != newMap[propName]) {
         //
       }
    }
}