关于用aop方式记录日志
最近需要开始剥离日志逻辑,故想到了aop方式插入日志。
?
配置文件:
?
补充一点:如果在pointcut中存在多个表达式,可以用"||"来进行分隔,如:
?
??
实际执行日志插入的类代码:
?
主要将service层和dao层的方法信息和参数情况还有方法执行时间打印出来。下面还要进一步在logback中配置用jms来将打出的日志已消息的形式发出,供消费者接受并集中计算,这个下次再发~?
?
开发过程中遇到一个问题,就是项目中的dao层都采用了继承带泛型类的方式,在用cglib做动态代理的时候总是报错,所以在<aop:config>中将原来的?proxy-target-class="java">METHOD:[com.cms5.cmsservice.jms.monitor.dao.impl.JmsMonitorDaoImpl.countByCondition(JmsMonitorPo)]<|>PARAMS: JmsMonitorPo [biz_type=null, error_message_cms_end=null, error_message_product_end=null, error_message_rate_end=null, error_message_receive_end=null, error_time_cms_end=null, error_time_product_end=null, error_time_rate_end=null, error_time_receive_end=null, id=null, is_again=null, mdmc_id=null, mdmc_music_id=null, operate_type=null, state=null, state_cms_begin=null, state_cms_end=null, state_product_begin=null, state_product_end=null, state_rate_begin=null, state_rate_end=null, state_receive_begin=null, state_receive_end=null, success_time_cms_end=null, success_time_product_end=null, success_time_rate_end=null, success_time_receive_end=null, time_cms_begin=null, time_product_begin=null, time_rate_begin=null, time_receive_begin=null, version=null]<|>TAKES: 3609 msMETHOD:[com.cms5.cmsservice.jms.monitor.dao.impl.JmsMonitorDaoImpl.queryByCondition(int,int,JmsMonitorPo)]<|>PARAMS: 0,20,JmsMonitorPo [biz_type=null, error_message_cms_end=null, error_message_product_end=null, error_message_rate_end=null, error_message_receive_end=null, error_time_cms_end=null, error_time_product_end=null, error_time_rate_end=null, error_time_receive_end=null, id=null, is_again=null, mdmc_id=null, mdmc_music_id=null, operate_type=null, state=null, state_cms_begin=null, state_cms_end=null, state_product_begin=null, state_product_end=null, state_rate_begin=null, state_rate_end=null, state_receive_begin=null, state_receive_end=null, success_time_cms_end=null, success_time_product_end=null, success_time_rate_end=null, success_time_receive_end=null, time_cms_begin=null, time_product_begin=null, time_rate_begin=null, time_receive_begin=null, version=null]<|>TAKES: 625 msMETHOD:[com.cms5.cmsservice.jms.monitor.service.impl.JmsMonitorServiceImpl.getPageDatas(int,int,JmsMonitorPo)]<|>PARAMS: 1,20,JmsMonitorPo [biz_type=null, error_message_cms_end=null, error_message_product_end=null, error_message_rate_end=null, error_message_receive_end=null, error_time_cms_end=null, error_time_product_end=null, error_time_rate_end=null, error_time_receive_end=null, id=null, is_again=null, mdmc_id=null, mdmc_music_id=null, operate_type=null, state=null, state_cms_begin=null, state_cms_end=null, state_product_begin=null, state_product_end=null, state_rate_begin=null, state_rate_end=null, state_receive_begin=null, state_receive_end=null, success_time_cms_end=null, success_time_product_end=null, success_time_rate_end=null, success_time_receive_end=null, time_cms_begin=null, time_product_begin=null, time_rate_begin=null, time_receive_begin=null, version=null]<|>TAKES: 4250 ms