日志
日志工厂
如果一个数据库操作出现了异常,要进行排错,日志是一个好工具
曾经是:sout,debug
现在是日志工厂
在mybatis-config.xml中的settings有这么一个设置,logImpl
- SL4J 重点
- LOG4J
- LOG4J2
- JDK_LOGGING Java自带的日志输出
- STDOUT_LOGGING 工具包日志输出
- NO_LOGGING 不输出日志
mybatis中具体使用哪一个日志实现,在设置中设定
stdout_logging标准日志输出
添加logImpl设置
设置在mybatis-config.xml中的设置需要按照规则顺序来
忘记了顺序能故意打错,等报错看
要放在properties和typeAliases的中间
添加设置的时候最好直接从官方文档复制,不要靠脑子记,打错任何一点都会报错
比如这一段logImpl打错了,表面是不会报错的,运行的时候就会出问题
到了这里还很难找
下面一句会有The setting LogImpl is not know,看到下面才能知道他给的错误提示
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
所以不要打错,多一个空格都不行
- 从opening开始读,打开jdbc连接
- 创建connection
- 设置自动提交为false
- 预编译sql
- 传递的参数parameter 1个 integer类型
- 查询的列
- 查询的行
- 总共有几条记录
- 最后才是结果
- returned connection 返回到数据库连接池pool
Log4J
可以将日志输出到控制台、文件、GUI组件
- 可以设置每一条的输出格式
- 设置日志级别
- 开于通过配置文件配置
主要操作
-
导入包
-
<!-- https://mvnrepository.com/artifact/log4j/log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
-
添加配置文件,面向百度编程,搜索log4j的properties
-
#将等级得debug的日志信息输出到console和file中两个目的地,console和file的定义在下面的代码 log4j.rootLogger=DEBUG,console,file #控制台输出的相关设置 log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.Target=System.out log4j.appender.console.Threshold=DEBUG log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.ConversionPattern=[%c]-%m%n #文件输出的相关设置 log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=./log/haoyun.log #文件的地址 log4j.appender.file.MaxFileSize=10mb log4j.appender.file.Threshold=DEBUG log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n #日志输出级别 log4j.logger.org.mybatis=DEBUG log4j.logger.java.sql=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.ResultSet=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG
-
<settings> <setting name="logImpl" value="LOG4J"/> </settings>
-
-
主要内容还是类似的
简单使用
-
导入包的时候要注意不要导错包了,要导入apache的log4j
-
public class UserMapperTest { static Logger logger = Logger.getLogger(UserMapperTest.class);
-
-
public void log4jTest(){ logger.info("info:Test"); logger.debug("debug:Test"); logger.error("error:Test"); }
-
-
打开看日志文件
-
-
-
就是比较清晰明了,工作中要多使用
-
-
还有其他的日志级别,自己去学习