mybatis日志的使用问题:
2015-05-12 12:48
274 查看
mybatis日志的使用问题:
mybatisspring
log4j
在使用mybatis的时候,经常会遇到日志无法输出的问题;今天解决这个问题;
1、仅使用mybatis的时候如何输出:
一般单独使用mybatis+junit的时候会使用到日志的输出,使用是需要添加下面的代码:org.apache.ibatis.logging.LogFactory.useStdOutLogging();
使用示例:
@Test
public void testCondition(){
try {
//如果想在控制台中输出日志的内容,那么必须添加上这句话
org.apache.ibatis.logging.LogFactory.useStdOutLogging();Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
.build(reader);
reader.close();
SqlSession session = null;
session = sqlSessionFactory.openSession();
StudentMapper studentMapper = (StudentMapper) session.getMapper(StudentMapper.class);
StudentExample studentExample = new StudentExample();
GeneratedCriteria generatedCriteria = studentExample.createCriteria();
generatedCriteria.addCriterion("1=1");
List<Student> student = studentMapper.selectByExample(studentExample);
for (Student student2 : student) {
System.out.println(student2.getName());
}
} catch (IOException e) {
e.printStackTrace();
}
}
运行查看输入的结果:
Logging initialized using 'org.apache.ibatis.logging.stdout.StdOutImpl' >adapter.
PooledDataSource forcefully closed/removed all connections.
PooledDataSource forcefully closed/removed all connections.
PooledDataSource forcefully closed/removed all connections.
PooledDataSource forcefully closed/removed all connections.
Openning JDBC Connection
Created connection 33431531.
ooo Using Connection [com.mysql.jdbc.JDBC4Connection@1fe1feb]
> Preparing: select id, name, gender, major, grade, supervisor_id from student WHERE ( 1=1 )
> Parameters:
< Columns: id, name, gender, major, grade, supervisor_id
< Row: 1, 李林, 男, 计算机科学与技术, 2011, 1
<== Row: 2, 陈明, 男, 软件技术, 2012, 1
<== Row: 4, 陈明2, 男, 软件技术, 2012, 2
李林
陈明
陈明2
同时在log4j.properties文件的配置信息如下:
# Global logging configuration log4j.rootLogger=debug # MyBatis logging configuration... log4j.logger.org.mybatis.example=DEBUG # Console output... ### Console output... log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
2、和spring配合使用时,日志的输出内容
spring+mybatis时输入的配置文件内容为:## set log levels ### #log4j.rootLogger = debug , stdout , D , E log4j.rootLogger = debug , stdout , D ### output to the console ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout #log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n ### Output to the log file ### log4j.appender.D = org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File = ${springmvc.root}/WEB-INF/logs/error.log log4j.appender.D.Append = true log4j.appender.D.Threshold = ERROR 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
相关文章推荐
- 关于使用Enterprise Library模块日志问题的解决
- Web项目中使用NLog记录日志,利用单件模式控制整个项目只有一个Logger对象的问题
- linux服务器管理相关问题(二)--使用logrotate管理日志
- 使用mysqlbinlog查看二进制日志的问题
- 使用mybatis遇到的问题
- 使用windows服务和MSMQ和进行日志管理(解决高并发问题)
- mybatis源码修改解决使用中的问题
- Python:通过自定义系统级快捷键来控制程序开始或停止记录日志(使用小技巧解决一个貌似无解的问题)
- Python:通过自定义系统级快捷键来控制程序开始或停止记录日志(使用小技巧解决一个貌似无解的问题)
- 同时使用数据库镜像和日志传送的问题
- mybatis的foreach语句使用问题
- 使用ACE日志策略时遇到的问题:DLL::open failed for ACE: Error: check log for details Unable to find service 'Logger'
- Berkeley DB - 解决让多个日志重复使用的问题
- 关于apache使用CustomLog 记录日志以及错乱的问题
- 诊断SQLSERVER问题常用的日志概述及使用
- 诊断SQLSERVER问题常用的日志概述及使用
- mybatis使用foreach批次插入,解决sequence只查询一次的问题
- Mybatis 使用时常碰到的问题及其解答
- 关于Windows Service 中使用NLog无法生成日志文件的问题
- spring3.x和mybatis3.x SQL日志打印问题