发表于: 2017-11-10 21:58:47

2 642


今天学习的内容
今天把昨天写的代码做了个测试代码跑了一遍,代码如下:
package mapper;

import org.apache.log4j.Logger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import java.util.List;

import model.BmbTest;
import org.junit.Test;
import org.apache.log4j.Logger;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import java.util.List;


@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext.xml"})

public class BmbTestMapperTest {


@Autowired
ApplicationContext ctx;
private static Logger logger = Logger.getLogger(BmbTestMapperTest.class);
@Test
public void bmbTestInsert() throws Exception {
BmbTestMapper bmbTestMapper = (BmbTestMapper) ctx.getBean("bmbTestMapper");
BmbTest bmbTest3 = new BmbTest();
bmbTest3.setName("陆压");
bmbTest3.setSex("男");
bmbTest3.setAge(18);
bmbTest3.setAdress("鱼鲮岛");
bmbTest3.setStudy("斩仙飞刀");

bmbTestMapper.bmbTestInsert(bmbTest3);
}

@Test
public void bmbTestDelete() throws Exception {
logger.debug("测试删除...");
BmbTestMapper bmbTestMapper = (BmbTestMapper) ctx.getBean("bmbTestMapper");
bmbTestMapper.bmbTestDelete(4);
}

@Test
public void bmbTestUpdate() throws Exception {
logger.debug("测试修改...");
BmbTestMapper bmbTestMapper = (BmbTestMapper) ctx.getBean("bmbTestMapper");
BmbTest bmbTest = new BmbTest();
bmbTest.setName("张三丰");
bmbTest.setId(5);
bmbTestMapper.bmbTestUpdate(bmbTest);
}

@Test
public void listAll() throws Exception {
logger.debug("测试批量查找...");
BmbTestMapper bmbTestMapper = (BmbTestMapper) ctx.getBean("bmbTestMapper");
List<BmbTest> listAll = bmbTestMapper.listAll();
logger.debug(listAll.toString()+"\n\n");
}

@Test
public void bmbTestSelect() throws Exception {
logger.debug("测试查找...");
BmbTestMapper bmbTestMapper = (BmbTestMapper) ctx.getBean("bmbTestMapper");
BmbTest bmbTest = new BmbTest();
bmbTest.setId(3);
bmbTestMapper.bmbTestSelect(bmbTest);
System.out.println(bmbTestMapper.bmbTestSelect(bmbTest));
}
}
测试结果

然后学习了log4j.properties
Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台,文件,GUI组件,甚至是套接口服务器,NT的事件记录器,UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程.最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码.
log4j.properties
### 设置###
log4j.rootLogger = info,bmbTest,D,I,E
#此句为将等级为INFO的日志信息输出到bmbtest,I和E这三个目的地,bmbtest,I和E的定义在下面的代码,可以任意起名#.等级可分为OFF,FATAL,ERROR,WARN,INFO,DEBUG,ALL,如果配置OFF则不打出任何信息,如果配置为INFO这样只  #显示INFO,WARN,ERROR的log信息,而DEBUG信息不会被显示.
### 输出信息到控制台 ###
#引用哪个类
#lyouts 指定输出样式
log4j.appender.bmbTest = org.apache.log4j.ConsoleAppender
#此句为定义名为bmbTest的输出端是哪种类型,可以是
#org.apache.log4j.ConsoleAppender(控制台)
#org.apache.log4j.FileAppender(文件),
#org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
#org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
#org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
log4j.appender.bmbTest.Target = System.out
log4j.appender.bmbTest.layout = org.apache.log4j.PatternLayout
#此句为定义名为bmbTest的输出端的layout是哪种类型,可以是
#org.apache.log4j.HTMLLayout(以HTML表格形式布局),
#org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
#org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
#org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息),
log4j.appender.bmbtest.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
#如果使用pattern布局就要指定的打印信息的具体格式ConversionPattern,打印参数如下:
#%m 输出代码中指定的消息;
#%M 输出打印该条日志的方法名;
#%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL;
#%r 输出自应用启动到输出该log信息耗费的毫秒数;
#%c 输出所属的类目,通常就是所在类的全名;
#%t 输出产生该日志事件的线程名;
#%n 输出一个回车换行符,Windows平台为"rn”,Unix平台为"n”;
#%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd #HH:mm:ss,SSS},输出类似:2002-10-18 22:10:28,921;
#%l 输出日志事件的发生位置,及在代码中的行数;
#[%-5p]是log信息的开头,可以为任意字符,一般为项目简称.

### 输出DEBUG 级别以上的日志到=C:/m2/logs/info/info.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
#此句定义名为D的输出端的类型为每天产生一个日志文件.
log4j.appender.D.File = C:/m2/logs/info/info.log
#此句为定义名为I的输出端的文件名为C:/m2/logs/info/info.log可以自行修改.
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 输出INFO 级别以上的日志到=C:/m2/logs/info/info.log ###
log4j.appender.I = org.apache.log4j.DailyRollingFileAppender
log4j.appender.I.File = C:/m2/logs/info/info.log
log4j.appender.I.Append = true
log4j.appender.I.Threshold = INFO
log4j.appender.I.layout = org.apache.log4j.PatternLayout
log4j.appender.I.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
### 输出ERROR 级别以上的日志到=C:/m2/logs/error/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =C:/m2/logs/error/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

#附:Log4j比较全面的配置
#
#Log4j配置文件实现了输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能。
#log4j.rootLogger=DEBUG,console,dailyFile,im
#log4j.additivity.org.apache=true
## 控制台(console)
#log4j.appender.console=org.apache.log4j.ConsoleAppender
#log4j.appender.console.Threshold=DEBUG
#log4j.appender.console.ImmediateFlush=true
#log4j.appender.console.Target=System.err
#log4j.appender.console.layout=org.apache.log4j.PatternLayout
#log4j.appender.console.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
#
## 日志文件(logFile)
#log4j.appender.logFile=org.apache.log4j.FileAppender
#log4j.appender.logFile.Threshold=DEBUG
#log4j.appender.logFile.ImmediateFlush=true
#log4j.appender.logFile.Append=true
#log4j.appender.logFile.File=C:/m2/logs/info/info.log
#log4j.appender.logFile.layout=org.apache.log4j.PatternLayout
#log4j.appender.logFile.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
## 回滚文件(rollingFile)
#log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
#log4j.appender.rollingFile.Threshold=DEBUG
#log4j.appender.rollingFile.ImmediateFlush=true
#log4j.appender.rollingFile.Append=true
#log4j.appender.rollingFile.File=C:/m2/logs/info/info.log
#log4j.appender.rollingFile.MaxFileSize=200KB
#log4j.appender.rollingFile.MaxBackupIndex=50
#log4j.appender.rollingFile.layout=org.apache.log4j.PatternLayout
#log4j.appender.rollingFile.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
## 定期回滚日志文件(dailyFile)
#log4j.appender.dailyFile=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.dailyFile.Threshold=DEBUG
#log4j.appender.dailyFile.ImmediateFlush=true
#log4j.appender.dailyFile.Append=true
#log4j.appender.dailyFile.File=C:/m2/logs/info/info.log
#log4j.appender.dailyFile.DatePattern='.'yyyy-MM-dd
#log4j.appender.dailyFile.layout=org.apache.log4j.PatternLayout
#log4j.appender.dailyFile.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
## 应用于socket
#log4j.appender.socket=org.apache.log4j.RollingFileAppender
#log4j.appender.socket.RemoteHost=localhost
#log4j.appender.socket.Port=5001
#log4j.appender.socket.LocationInfo=true
## Set up for Log Factor 5
#log4j.appender.socket.layout=org.apache.log4j.PatternLayout
#log4j.appender.socket.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
## Log Factor 5 Appender
#log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender
#log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000
## 发送日志到指定邮件
#log4j.appender.mail=org.apache.log4j.net.SMTPAppender
#log4j.appender.mail.Threshold=FATAL
#log4j.appender.mail.BufferSize=10
#log4j.appender.mail.From = xxx@mail.com
#log4j.appender.mail.SMTPHost=mail.com
#log4j.appender.mail.Subject=Log4J Message
#log4j.appender.mail.To= xxx@mail.com
#log4j.appender.mail.layout=org.apache.log4j.PatternLayout
#log4j.appender.mail.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
## 应用于数据库
#log4j.appender.database=org.apache.log4j.jdbc.JDBCAppender
#log4j.appender.database.URL=jdbc:mysql:/127.0.0.1:3306/fyc
#log4j.appender.database.driver=com.mysql.jdbc.Driver
#log4j.appender.database.user=root
#log4j.appender.database.password=
#log4j.appender.database.sql=INSERT INTO LOG4J (Message) VALUES('=[%-5p] %d(%r) --> [%t] %l: %m %x %n')
#log4j.appender.database.layout=org.apache.log4j.PatternLayout
#log4j.appender.database.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
#
## 自定义Appender
#log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender
#log4j.appender.im.host = mail.cybercorlin.net
#log4j.appender.im.username = username
#log4j.appender.im.password = password
#log4j.appender.im.recipient = corlin@cybercorlin.net
#log4j.appender.im.layout=org.apache.log4j.PatternLayout
#log4j.appender.im.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
#
#log4j的强大功能无可置疑,但实际应用中免不了遇到某个功能需要输出独立的日志文件的情况,怎样才能把所需的内容从原有日志中分离,形成单独的日志文件呢?其实只要在现有的log4j基础上稍加配置即可轻松实现这一功能。

今天的收获
测试了一遍spring和mybatis的集成,学习了log4j.

遇到的问题
今天主要还是查资料的多,没有遇到问题.

明天的计划
完成spring与mybatis的集成

任务进度:任务1步骤17
任务开始时间:10月28日
任务结束时间:11月10日
可能要延期到11月13号



返回列表 返回列表
评论

    分享到