发表于: 2017-08-11 21:22:13

5 1063


今天做的事:

今天应师兄要求,将烂尾的任务三完善,可以说已经完美结尾了。


首先是解决了昨天jetty打印项目日志的问题,之前一直找不到项目中配置的log4j的日志文件在哪里,后来翻翻找找,终于解决了该问题

原来是之前的log4j.properties配置文件中少了个参数,导致日志文件的定位出现问题

之前少了这个参数

顺便就讲一下这里的各个参数什么的是什么意思吧,也算是对log4j日志配置文件有了新的认识

log4j.rootLogger是根配置

格式:log4j.rootLogger = [ level ] , appenderName1, appenderName2, … 

level :设定日志记录的最低级别,可设的值有OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定义的级别,Log4j建议只使用中间四个级别。

appenderName:就是指定日志信息要输出到哪里。可以同时指定多个输出目的地,用逗号隔开。


Appender常用类

常使用的类如下: 

org.apache.log4j.ConsoleAppender(控制台) 
org.apache.log4j.FileAppender(文件) 
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件) 
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件) 
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方) 


配置模式: 
log4j.appender.appenderName  = className 
log4j.appender.appenderName.Option1 = value1 
… 
log4j.appender.appenderName.OptionN = valueN 


后面.什么什么的意思是

log4j.appender.stdout.Target = System.out  

就是把日志输出到系统标准输出设备上,默认就是这个值。


Append=false:true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true。 


layout

常使用的类如下: 

org.apache.log4j.HTMLLayout(以HTML表格形式布局) 
org.apache.log4j.PatternLayout(可以灵活地指定布局模式) 
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串) 
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等信息) 


参考文章的链接是:http://www.open-open.com/lib/view/open1393488356958.html


然后再将最后的统计脚本贴上来,就补全任务三的烂尾了

如下

#!/bin/bash

echo "将项目中的日志提取"

cat /logs/log.log |grep "执行了" > /mydata/task3/DB.txt

echo "将Nginx中的日志提取"

cd /usr/local/nginx/logs

cat access.log |grep "task3" > /mydata/task3/nginx.txt

echo "定位到/mydata/task3"

cd /mydata/task3

echo "再次抽取项目日志的数据库连接时间"

cat DB.txt | awk '{print $12}' >DBTime.txt

echo "数据库连接时间小于20ms"

cat DBTime.txt | awk  'BEGIN{sum=0}{if($1<20) sum++;}END{print sum}'

echo "数据库连接时间大于20ms小于50ms"

cat DBTime.txt | awk 'BEGIN{sum=0}{if(($1>20)&&($1<50)) sum++;}END{print sum}'

echo "数据库连接时间大于50ms小于100ms"

cat DBTime.txt | awk 'BEGIN{sum=0}{if(($1>50)&&($1<100)) sum++;}END{print sum}'

echo "数据库连接时间大于100ms"

cat DBTime.txt | awk 'BEGIN{sum=0}{if($1>100)sum++;}END{print sum}'

echo "抽取Nginx中的延迟时间"

cat nginx.txt | awk '{print $9}' > nginxTime.txt

echo "nginx延迟时间小于20ms"

cat nginxTime.txt | awk  'BEGIN{sum=0}{if($1<20/1000) sum++;}END{print sum}'

echo "数据库连接时间大于20ms小于50ms"

cat nginxTime.txt | awk 'BEGIN{sum=0}{if(($1>20/1000)&&($1<50/1000)) sum++;}END{print sum}'

echo "数据库连接时间大于50ms小于100ms"

cat nginxTime.txt | awk 'BEGIN{sum=0}{if(($1>50/1000)&&($1<100/1000)) sum++;}END{print sum}'

echo "数据库连接时间大于100ms"

cat nginxTime.txt | awk 'BEGIN{sum=0}{if($1>100/1000)sum++;}END{print sum}'


也是参考了茹程远师兄(哈哈哈哈)的日报



任务四的DB分析


应师兄要求,分析DB


cs10界面的分析

这个模块拆出一张表,如下

然后在jsp页面中可用循环功能实现展示


同样通过循环即可遍历出该模块


通过上面的学生表中的studying字段判断人数


cs10页面分析完毕


cs11页面分析



职位表

在学人数通过学生表中的职位信息计算,统计总数


隐藏的职业信息表


cs11页面至此分析完毕


但是问题很严重!

首先表多,其次涉及到很多外键关联,最后还有一些人数统计什么的也需要计算

由于这些种种担忧,怀疑自己的设计是否有问题,所以请教师兄,设计是否合理,有无修改建议

因为感觉设计下来,需要整理逻辑什么的,很费时间!

请师兄不吝赐教!!!!


明天计划:任务四DB设计如果完成,开始实现mybatis自动生成代码


问题: 任务三解决;上面的红字疑问


收获:定位log4j日志位置;编写统计脚本。


返回列表 返回列表
评论

    分享到