RT,有个后台项目,想让管理员看到系统日志,谁什么时间对数据库做了什么?
想监听dao层的增删改查,想druid那样,怎么办?
@wendal 那我拦击了,形成日志再往数据库里存,岂不是又被拦击,形成死循环?
@wendal 怎么写,小白,对线程不熟
public class MyDaoLogInterceptor implements MethodInterceptor {
protected static ThreadLocal<Object> TL = new ThreadLocal<Object>();
public void filter(InterceptorChain chain) throws Throwable {
if (TL.get() != null) { // 看来是前一个拦截器内调用, 那就不要再执行了
chain.doChain();
return;
}
try {
TL.set(this);
// 记录日志.xxxxx
xxx,xx,x,xx
// 继续下一个拦截器
chain.doChain();
} finally{
TL.remove();
}
}