Muh*_*eer 7 grails plugins audit-logging grails-2.1
我已将audit-logging插件安装到我的应用程序中.grails版本是2.1.1,插件版本是1.0.1.
在我的Config.groovy班上,我添加了这个
auditLog {
verbose = true // verbosely log all changed values to db
logIds = true // log db-ids of associated objects.
// Note: if you change next 2 properties, you must update your database schema!
tablename = 'audit_logs' // table name for audit logs.
transactional = false
actorClosure = { request, session ->
org.apache.shiro.SecurityUtils.getSubject()?.getPrincipal()
}
Run Code Online (Sandbox Code Playgroud)
在我的域类中,我添加了这个
class Survey {
static auditable = true
static final int NO_RUNNING_SURVERY = 0
static final int RUNNING_SURVERY = 1
static final int CALL_NO_Record_SURVEY = 0
static final int CALL_Record_SURVEY = 1
static final int REALTIME_SURVEY = 0
static final int HISTORICAL_SURVEY = 1
static final int STANDARD_SURVERY = 2
String name
String description
int status
}
Run Code Online (Sandbox Code Playgroud)
当我添加,删除和更新一些东西.在我的audit_logs表中,针对一个操作插入了双重记录,例如,如果我从控制器类更改状态值
def stopSurvey(Long id) {
def survey = Survey.findById(params['stop'])
survey.status = Survey.NO_RUNNING_SURVERY
redirect(action: "list")
}
Run Code Online (Sandbox Code Playgroud)
它每次调用插入两条记录.
在这里也没有看到这种行为。在许多项目中使用这个插件。您可以设置 verbose=false 并再次测试吗?如果问题也发生,则意味着事件可能不仅被触发一次。
一个小的测试应用程序会很棒。
顺便说一句:我们在包含测试应用程序(audit-test)的插件项目中使用 spock 测试来检查audit_log 表中存储了多少事件。因此,我假设您的应用程序中存在边缘情况或特定问题。
| 归档时间: |
|
| 查看次数: |
522 次 |
| 最近记录: |