发表于: 2017-09-24 20:58:19

1 810


今天完成的事情:

1.学习springAOP,并使用AOP输出数据库的响应时间

项目结构

多写了个DatabaseLogger


Spring上下文配置

<aop:config>
   <aop:aspect ref="DatabaseLogger">
       <aop:before method="beforeTime" pointcut="execution(* cn.summerwaves.service.imp..*(..))"/>
       <aop:after method="afterTime" pointcut="execution(* cn.summerwaves.service.imp..*(..))"/>
   </aop:aspect>
</aop:config>

或者

<!--<aop:aspectj-autoproxy proxy-target-class="true" />-->

皆可(只限记录数据库,控制器的记录还没测试)


DatabaseLogger代码

@Aspect
public class DatabaseLogger {
long start;
   long end;

   private static Logger logger = Logger.getLogger("DatabaseLogger.class");
 
   public DatabaseLogger() {

}


/* imp包下所有的Service中所有的方法都会在依次在前、后添加下面的两个方法 */
@Pointcut("execution(* cn.summerwaves.service.imp..*(..))")  
public void databasepoint() {

   }

@Before("databasepoint()")
public void beforeTime() {
start=System.currentTimeMillis();
   }

@After("databasepoint()")
public void afterTime() {
end = System.currentTimeMillis();
       logger.error("数据库的响应时间为: "+(end-start));
   }

}

AOP好像很神奇,除了用以输出日志,好像还能用来干一些奇奇怪怪的东西


添加一个error级别的Logger:

#error级别
log4j.appender.ERROR = org.apache.log4j.DailyRollingFileAppender
log4j.appender.ERROR.File = /data/tomcat-home/ROOT/error.log
log4j.appender.ERROR.Append = true
log4j.appender.ERROR.Threshold = ERROR
log4j.appender.ERROR.layout = org.apache.log4j.PatternLayout
log4j.appender.ERROR.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ]   %m%n


访问网页后输出如下


2.向网站重新部署了war包,但是tomcat部署到除了webapps以外的地方无法生效,之前使用的方法也失效了,查方法查了很久,得到了可以使用的方法

①删除webapps下root的所有内容

②在tomcat/conf/Catalina/localhost/下新建ROOT.xml文件,内容如下


<?xml version='1.0' encoding='utf-8'?> 

<Context path="/" docBase="/data/tomcat-home/ROOT/" debug="0" privileged="true" reloadable="true"/>



明天计划的事情:

1.学习脚本分析自己输出的日志和nginx日志

2.提交任务3

3.做完任务3还有时间的话回头做一下任务2的深度思考


遇到的问题:

 部署war包后无法访问,之前的方法失效,尝试寻找新的方法

方法如“今日所做的事情2”所示


收获:

1.学会使用SpringAOP记录某个方法的响应时间并输出

2.找到了可靠的修改tomcat部署目录的方法


进度:

任务3开始时间:2017.09.23

预计demo时间:2017.09.24

已延期至2017.09.25

延期风险:无

禅道

http://task.ptteng.com/zentao/project-task-350.html




返回列表 返回列表
评论

    分享到