私はhttp://grails.org/plugin/audit-loggingプラグインを使用しており、大規模なドメインクラスの単一のフィールドの監査にのみ関心があります。長い「無視」リストを指定することもできますが、理想的には、代わりにフィールドのホワイトリストを指定したいので、新しいフィールドが追加された場合、パフォーマンスになる可能性がある自動的に監査されないように、無視リストを維持する必要はありません。危険。
これは可能ですか?プラグインのドキュメントにその記載がありませんでした。
私はhttp://grails.org/plugin/audit-loggingプラグインを使用しており、大規模なドメインクラスの単一のフィールドの監査にのみ関心があります。長い「無視」リストを指定することもできますが、理想的には、代わりにフィールドのホワイトリストを指定したいので、新しいフィールドが追加された場合、パフォーマンスになる可能性がある自動的に監査されないように、無視リストを維持する必要はありません。危険。
これは可能ですか?プラグインのドキュメントにその記載がありませんでした。
標準の監査ログの代わりに、イベント ハンドラーのみを使用してこれを行うことができると思います。このように監査を設定します
static auditable = [handlersOnly: true]
ホワイトリストを作成できます
def whiteList = ['name','age',...]
次に、保存、削除、または変更イベントを処理する on* イベントを作成し、ホワイト リストを反復処理して、古いマップと新しいマップでそのキーを検索します。
def onChange = {oldMap, newMap ->
whiteList.each{propName->
if(oldMap[propName] != newMap[propName]) {
//
}
}
}