
1

0
16/02/2012 01:28
O log a que vc se refere seria, por exemplo, registrar um usuario/acao/hora de uma acao?
se for uma maneira bem simples de fazer isto é utilizando os filters (http://grails.org/doc/latest/guide/theWebLayer.html#6.6 Filters)
Você pode interceptar todas as ações dos controllers e das actions e no seu caso registrar estas informações.
No exemplo abaixo eu estou filtrando todos os controllers e todas as actions após as mesmas serem executadas (after).
def filters = {
log(controller: '*', action: '*') {
after = {
def usrLogado = springSecurityService?.getCurrentUser()
String msg = ""
if (actionName.equals("save")) {
msg = "salvou um(a) novo(a) " + controllerName
} else if (actionName.equals("delete")) {
msg = "excluiu um(a) " + controllerName
} else if (actionName.equals("update")) {
msg = "atualizou um registro do tipo " + controllerName
}
if(!msg.equals("") && usrLogado) {
def hist = new Historico(usuario: usrLogado, mensagem: msg, data: new Date()).save()
}
}
}
}
vrcarvalho
Pontos: 78

0

0
22/02/2012 16:03
Victor,
era isso que eu queria fazer, salvando em um banco de dados.
Sua idéia de fazer isso via FIlters foi ótima.
Muito obrigado por me ajudar.
ivgsilva
Pontos: 182