Grails审核日志记录插件-性能



我正在使用Grails Audit日志记录插件记录我的Grails应用程序上的创建/编辑/删除操作。

是否有人知道实际的日志记录(将日志保存到DB)是在单独的线程中执行的,还是只有在日志记录完成后才会返回对请求的响应(顺便修改一些记录)。在他们的文档或外部找不到任何关于这方面的信息。

此插件内部使用Hibernate事件系统。消息是以阻塞的方式处理的,因此在日志记录完成后将收到响应。

它很容易复制-只需创建一个自定义的Hibernate侦听器:

import org.hibernate.event.PostInsertEvent;
import org.hibernate.event.PostInsertEventListener;
import org.hibernate.event.PostUpdateEvent;
import org.hibernate.event.PostUpdateEventListener;
class HibernateDummyListener implements PostInsertEventListener, PostUpdateEventListener {
    public void onPostInsert(final PostInsertEvent event) {
        println "Hibernate: ON POST INSERT"
        //No delay
    }
    public void onPostUpdate(final PostUpdateEvent event) {
        println "Hibernate: ON POST UPDATE"
        Thread.sleep(10000)
    }
}

和资源。groovy:

beans = {
   hibernateDummyListener(HibernateDummyListener)
   hibernateEventListeners(HibernateEventListeners) {
      listenerMap = ['post-insert':hibernateDummyListener,
                     'post-update':hibernateDummyListener]
   }
}

最新更新