设置开启logImpl
- 在MyBatis配置文件最前面进行设置开启
STDOUT_LOGGING的使用
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
- 然后就可以直接运行, 它自动会在控制台输出日志
- 仔细读日志就可以发现我们使用的数据库愿是POOLED, 因为新建了一个connection最后并没有关闭, 而是将这个connection交回到了pool, 并且我们也可以很清楚看到我们的sql语句, 也可以很清楚看到我们的数据库列名和查到的数据
LOG4J的使用
- Log4j是Apache的一个开源项目
- 通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等
- 可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程
- 最爽的就是可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
LOG4J不能直接使用要有一个配置过程
- 第一步
加入log4j-1.2.17.jar(可以选择log4j的更高版本)到lib下。
如果使用maven项目,也可以选择在pom.xml中新增依赖:
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
- 第二步
在CLASSPATH下建立log4j.properties。如果是maven项目在resources目录下建立该文件
内容如下
#将等级为DEBUG的日志信思输出到console控制台和file文件这两个目的地,console和fiLe的定义在下面的代码
log4j.rootLogger=DEBUG,CONSOLE,file
#控制台输出的相关设置
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
#输出方式
log4j.appender.CONSOLE.Target = System.out
#输出级别
1og4j.appender.CONSOLE.Threshold=DEBUG
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
#输出格式
log4j.appender.CONSOLE.layout.ConversionPattern=[%c]-%m%n
#文件输出的相关设置
log4j.appender.file=org.apache.log4j.RollingFileAppender
#输出文件的目录
log4j.appender.file.File=./log/mybatis.1og
#输出文件的最大存储量
log4j.appender.file.MaxFileSize=10mb
1og4j.appender.file.Threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-M-dd}][%C]%m%n
#日志输出级别
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sq1=DEBUG
log4j.logger.java.sql.statement=DEBUG
log4j.logger.java.sq1.ResultSet=DEBUG
log4j.logger.java.sq1.PreparedStatement=DEBUG
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
- 第四部
测试
- 当然不光控制台我们的文件中也会记录日志
如何自定义类使用LOG4J
- 将上述配置做好之后
- 第一步
在你类中属性字段中添加如下代码, 注意传入的class对象是你要使用的类
static Logger logger = Logger.getLogger(Test.class);
@org.junit.Test
public void log4j() {
logger.debug("进入方法");
logger.info("开始");
try {
throw new Exception("错误");
} catch (Exception e) {
logger.error(e.getMessage());
}
if (logger.isDebugEnabled()) {
logger.debug("离开方法");
}
}
- 第三步
测试
- logger日志的使用级别debug<-info<-error