发表于: 2017-10-16 23:33:34

1 714



今天完成的事情:

1. 重构代码(3.5)

2. 完成了了log4j2+slf4j,自定义打印sql语句

3.Memcache有了思路

4.备案初步成功

5. 整理了一些常用的代码和类型转换


明天计划的事情

1. 重构代码(4)

2. 在service 里完成Memcache代码且测试

3. 思考一下用Memcache存储session(广义)的思路


遇到的问题:

1. junit的事务回滚

发现当进行插入后进行回滚,但是自增Id会+1,下一次插入数据的时候Id增1


收获:

1. 重构代码(3.5)

改写service层了,明天顺便把Memcache加上


2. 完成了了log4j2+slf4j,自定义打印sql语句

<!-- Log4j 2.x 配置文件。每1800秒自动检查和应用配置文件的更新; -->
<configuration status="error" monitorInterval="1800"  strict="true" schema="Log4J-V2.2.xsd">
   <Properties>
       <Property name="LOG_HOME">Logs/task6/</Property>
       <Property name="LOG_FILE_NAME">front.log</Property>
   </Properties>
   <!--先定义所有的appender-->
   <appenders>
       <!--这个输出控制台的配置-->
       <Console name="Console" target="SYSTEM_OUT">
           <!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch-->
           <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY" />
           <!--这个都知道是输出日志的格式-->
           <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" />
       </Console>

<!--============================sql语句的输出设置===========================================-->
       <Console name="consolePrint" target="SYSTEM_OUT">
           <PatternLayout pattern="%d{HH:mm:ss} [%t] %-5level %logger{36} - %msg%n" />
       </Console>

       <!--===========================以上为定义输出的格式===========================================-->

       <!--这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
       <RollingFile name="RollingFile" fileName="${LOG_HOME}${LOG_FILE_NAME}"
                    filePattern="${LOG_HOME}$${date:yyyy-MM}/app-%d{yyyyMMddHHmmssSSS}.log.gz">
           <PatternLayout
                   pattern="%d{yyyy.MM.dd 'at' HH:mm:ss.SSS z} %-5level %class{36} %L %M - %msg%xEx%n" />

           <!-- 日志文件大小 -->
           <SizeBasedTriggeringPolicy size="20MB" />
           <!-- 最多保留文件数 -->
           <DefaultRolloverStrategy max="20"/>
       </RollingFile>
   </appenders>


   <!--=============================以上定义为整理压缩的日志的格式=====================================-->
   <!--然后定义logger,只有定义了logger并引入的appenderappender才会生效-->
   <loggers>
       <!--建立一个默认的rootlogger-->
       <Logger name="testlog" level="trace"
               additivity="true">
           <AppenderRef ref="RollingFile" />
       </Logger>

       <Logger name="log" level="info"
               additivity="true">
           <AppenderRef ref="Console" />
       </Logger>

       <!--log4j2.xml中的Root更改为trace,用于查看Spring中的日志-->
       <Root level="info"> <!-- 全局配置 -->
           <AppenderRef ref="Console" />
           <!--<AppenderRef ref="RollingFile" />-->
           <!--<appender-ref ref="consolePrint" />-->
       </Root>
       <!-- sql语句配置特殊的Log级别,方便调试 -->
       <!--调整level的级别来看更详细的信息-->
       <Logger name="jnshu.tasksix.dao" level="info" additivity="false">
           <AppenderRef ref="consolePrint" />
       </Logger>
   </loggers>
</configuration>



总体分为三部分:

最上面为输出的配置文件,和自定义的输出

中间为日志的处理和维护的设置

下面的需要通过

<AppenderRef ref=

进行应用生效。关键在于红字部分。上面的红字部分特别注意,需要和最下面的一一对应

  


sql语句的输出:

       <Console name="consolePrint" target="SYSTEM_OUT">
           <PatternLayout pattern="%d{HH:mm:ss} [%t] %-5level %logger{36} - %msg%n" />
       </Console>


       <Logger name="jnshu.tasksix.dao" level="info" additivity="false">
           <AppenderRef ref="consolePrint/>
       </Logger>

调整输出信息等级,到trace可以看到sql语句和每一个字段的值。

屏幕不够大


3.Memcache有了思路

需要在service里进行调整,突然发现service要完成的事情太多了,有点臃肿。

spring需要进行Memcache的配置


4.备案初步成功

等最后一部的审核了,就可以用了

要把备案号进行超链接到国家备案的主页

(话说我们也官网没有进行超链接的)


5. 整理了一些常用的代码和类型转换

给Long 赋值为0
Long importTime = new Long(0);


获取当前时间戳

//方法 一(推荐)(获取时间最快:133)
System.currentTimeMillis();
//方法 二(Calendar.getInstance().getTimeInMillis() 这种方式速度最慢,这是因为Canlendar要处理时区问题会耗费较多的时间:2373)
如果想获取更加精确的纳秒级时间值, 使用 System.nanoTime()的方式。在 JDK8 中,
针对统计时间等场景,推荐使用 Instant 类。
Calendar.getInstance().getTimeInMillis();
//方法 三(坚决不能用,耗时:137)
new Date().getTime();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
String date = df.format(System.currentTimeMillis());// new Date()为获取当前系统时间,也可使用当前时间戳


将byte[] 转为 String:

byte[] result
ew String(result)


类型转化

类型 i =类型.valueof(转换的变量)
int id = 1;
String i = String.valueOf(id);




进度: 

         任务开始时间:10.13

         预计完成时间:10.21

         是否有延期风险:有

        Memcache需要对代码进行改动,估计Redi也要,我得快点了

禅道:http://task.ptteng.com/zentao/project-task-264.htm


PS:加快进度!!!





返回列表 返回列表
评论

    分享到