Grails + AuditLogging replacePatterns
Я столкнулся с некоторой проблемой, когда пытался настроить плагин AuditLogging для grails. Вот пример из документации:
replacePatterns = ["local.example.xyz.":""] // заменить на пустую строку.
Я сделал:
replacePatterns = ["ОБНОВЛЕНИЕ": "Актуализация"]
к сожалению, имена событий все еще имеют "ОБНОВЛЕНИЕ", когда ожидается "Актуализация".
У кого-нибудь была эта проблема раньше?
1 ответ
У меня была эта проблема: я сделал это следующим образом: 1. Должен иметь запись в вашем файле config.groovy:
audLog.replacementPatterns = ["ОБНОВЛЕНИЕ": "замена"]
2. В моем файле плагина Project.groovy, внутри
def doWithSpring = {
println application.config?.auditLog?.replacementPatterns // prints [UPDATE:replacement]
if (manager?.hasGrailsPlugin("hibernate")) {
auditLogListener(AuditLogListener) {
grailsApplication = ref('grailsApplication')
sessionFactory = sessionFactory
verbose = application.config?.auditLog?.verbose?:false
transactional = application.config?.auditLog?.transactional?:false
sessionAttribute = application.config?.auditLog?.sessionAttribute?:""
actorKey = application.config?.auditLog?.actorKey?:""
logIds = application.config?.auditLog?.logIds?:false
replacementPatterns = application.config?.auditLog?.replacementPatterns?:null
propertyMask = application.config?.auditLog?.propertyMask?:""
}
}
}
3. Если вы проверите AuditLogListener в коде плагина AuditLog: вы найдете replaceByReplacementPatterns(eventName,obj)
это заменяет eventName шаблоном замены.
С уважением