spring aop + log4j如何实现详细的后台操作日志,并输出的数据库
比如会员修改功能,后台使用人员或者操作后台人某某某修改了某某某会员的性别男为女,这个细粒度的日志怎么能实现,用的是struts+spring+ibatis的框架,切面应该...
比如会员修改功能,后台使用人员或者操作后台人某某某修改了某某某会员的性别男为女 ,这个细粒度的日志怎么能实现, 用的是struts+spring+ibatis的框架,切面应该定义在service层还是dao层呢?然后具体功能应该怎么实现?
展开
2个回答
展开全部
你可以采用logback 这个插件,可以任意切入哪个类,可以控制日志的级别。如果是业务操作日志最好是定义在Service层,DAO层就不要写业务了。
logback相比较log4j的优势
slf4j支持参数化的logger.error("帐号ID:{}不存在", userId);
告别了if(logger.isDebugEnable()) 时代。
另外logback的整体性能比log4j也较佳,hibernate等项目已经采用了slf4j。
logback相比较log4j的优势
slf4j支持参数化的logger.error("帐号ID:{}不存在", userId);
告别了if(logger.isDebugEnable()) 时代。
另外logback的整体性能比log4j也较佳,hibernate等项目已经采用了slf4j。
更多追问追答
追问
那请问ibatis可以使用吗?还有就是具体的操作,比如给service传入一个会员的POJO,其中比如要修改ID为1的用户密码,从原密码123,修改为456,,这个会员的po中就会放入两个属性一个是string的密码456,一个是id属性,其他属性不用管,既为null,比如说service方法成功执行以后,现在需要用到AOP,将这个service操作的具体信息拼接出来写入日志数据库,比如说将某ID的用户密码从123修改为了456,这个怎么才能实现~!请指教谢谢!
追答
Object[] args={123,456};
logger.debug("某ID的用户密码从{}修改为了{}",args);
这样写你看得懂吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询