发表于: 2017-08-11 21:22:13
5 1064
今天做的事:
今天应师兄要求,将烂尾的任务三完善,可以说已经完美结尾了。
首先是解决了昨天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日志位置;编写统计脚本。
评论