邯郸wap网站建设公司,成都高端网站建设那家好,沈阳网站建设小工作室,h5和网站的区别专栏精选
引入Mybatis
Mybatis的快速入门
Mybatis的增删改查扩展功能说明
mapper映射的参数和结果
Mybatis复杂类型的结果映射
Mybatis基于注解的结果映射
Mybatis枚举类型处理和类型处理器
再谈动态SQL
Mybatis配置入门
Mybatis行为配置之Ⅰ—缓存
Mybatis行为配置…专栏精选
引入Mybatis
Mybatis的快速入门
Mybatis的增删改查扩展功能说明
mapper映射的参数和结果
Mybatis复杂类型的结果映射
Mybatis基于注解的结果映射
Mybatis枚举类型处理和类型处理器
再谈动态SQL
Mybatis配置入门
Mybatis行为配置之Ⅰ—缓存
Mybatis行为配置之Ⅱ—结果相关配置项说明
Mybatis行为配置之Ⅲ—其他行为配置项说明
Mybatis行为配置之Ⅳ—日志
Mybatis整合Spring详解
Mybatis插件入门
Mybatis专栏代码资源 文章目录 专栏精选引言摘要正文logImpllogPrefix配置log4j2日志系统配置logback日志系统 总结 引言
大家好我是奇迹老李一个专注于分享开发经验和基础教程的博主。欢迎来到我的频道这里汇聚了汇集编程技巧、代码示例和技术教程欢迎广大朋友们点赞评论提出意见重要的是点击关注喔 期待在这里与你共同度过美好的时光️。今天要和大家分享的内容是Mybatis日志配置。做好准备Let’s go
摘要
在这篇文章中我们将介绍给Mybatis配置日志的基本方法虽然在开发工作中Mybatis常作为整个系统的一个部分而不会单独为其配置日志系统但是给Mybatis配置日志还是很重要比如调试过程中查看SQL查询日志那么Mybatis的日志配置将会对它的运行逻辑产生怎样的影响呢准备好开启今天的奇妙旅程吧。
正文 在Mybatis中与日志相关的配置项有logImpl和 logPrefix两个在日常开发工作中logImpl相对更常用而logPrefix不常用下面简单介绍这两个配置
logImpl
备注设置Mybatis日志的具体实现 可选值
SLF4JLOG4J3.5.9 起废弃LOG4J2JDK_LOGGINGCOMMONS_LOGGINGSTDOUT_LOGGINGNO_LOGGING
默认值自动 建议值根据实际情况设置尽量设置一个 建议原因官方文档建议 MyBatis 内置日志工厂基于运行时自省机制选择合适的日志工具。它会使用第一个查找得到的工具按上文列举的顺序查找。如果一个都未找到日志功能就会被禁用。 不少应用服务器如 Tomcat 和 WebShpere的类路径中已经包含 Commons Logging所以在这种配置环境下的 MyBatis 会把它作为日志工具记住这点非常重要。这将意味着在诸如 WebSphere 的环境中它提供了 Commons Logging 的私有实现你的 Log4J 配置将被忽略。MyBatis 将你的 Log4J 配置忽略掉是相当令人郁闷的事实上正是因为在这种配置环境下MyBatis 才会选择使用 Commons Logging 而不是 Log4J。如果你的应用部署在一个类路径已经包含 Commons Logging 的环境中而你又想使用其它日志工具你可以通过在 MyBatis 配置文件 mybatis-config.xml 里面添加一项 setting 来选择别的日志工具。 ——《mybatis官方文档》
logPrefix
备注指定 MyBatis 增加到日志名称的前缀 默认值未设置 建议值不设置 建议原因此设置后会影响日志系统的默认行为因此不建议设置如有必要设置名称前缀可以在日志配置文件中设置日志规则
配置log4j2日志系统
Log4j的详细配置项见
配置步骤
引入log4j2新增log4j2配置文件文件路径 resources/log4j2.xml修改mybatis配置可不修改Mybatis会自动使用对应的日志
!--pom文件--
dependency groupIdorg.apache.logging.log4j/groupId artifactIdlog4j-core/artifactId version2.21.0/version
/dependency!--日志配置文件--
?xml version1.0 encodingUTF-8?
Configuration xmlnshttp://logging.apache.org/log4j/2.0/config Appenders Console namestdout targetSYSTEM_OUT !--设置日志打印格式--PatternLayout pattern[%C#%M(%L)] %5level [%t] %msg%n/ /Console /Appenders Loggers !--设置日志级别--Logger nametop.sunyog.mybatis.mapper leveldebug/ Logger nameorg.apache.ibatis.session.AutoMappingUnknownColumnBehavior levelwarn/ Root levelerror AppenderRef refstdout/ /Root /Loggers
/Configuration!--mybatis配置--
setting namelogImpl valuelog4j/测试log4j2日志系统的打印
[org.apache.ibatis.logging.jdbc.BaseJdbcLogger#debug(137)] DEBUG [main] Preparing: select * from test_demo
[org.apache.ibatis.logging.jdbc.BaseJdbcLogger#debug(137)] DEBUG [main] Parameters:
TestDemo{demoId1, demoName测试名称, demoDesc测试备注}配置logback日志系统
Mybatis的日志中默认不支持logback日志但是logback实现了slf4j标准而Mybatis支持slf4j日志因此logback日志也能够使用 logback日志的配置方式如下
引入logback新增logback日志配置文件配置文件路径 resources/logback.xml修改mybatis配置可不修改Mybatis会自动使用对应的日志
dependency groupIdch.qos.logback/groupId artifactIdlogback-classic/artifactId version1.0.13/version
/dependency?xml version1.0 encodingUTF-8 ?
configuration debugfalse !-- 日志输出格式 -- property nameENCODER_PATTERN value%yellow(%d{yyyy-MM-dd HH:mm:ss.SSS}) %red([%thread] %-5level %logger{80}) - %green(%msg%n) / !-- 控制台日志输出全部日志到控制台 -- appender nameSTDOUT classch.qos.logback.core.ConsoleAppender encoder classch.qos.logback.classic.encoder.PatternLayoutEncoder Pattern${ENCODER_PATTERN}/Pattern charsetUTF-8/charset /encoder /appender logger nametop.sunyog.mybatis.mapper levelDEBUG addtivityfalse/logger root levelerror appender-ref refSTDOUT / /root
/configuration测试logback日志系统的打印
2023-12-28 14:51:24.037 [main] DEBUG top.sunyog.mybatis.mapper.LessonMapper.getDemos - Preparing: select * from test_demo
2023-12-28 14:51:24.063 [main] DEBUG top.sunyog.mybatis.mapper.LessonMapper.getDemos - Parameters:
TestDemo{demoId1, demoName测试名称, demoDesc测试备注}注意事项如果在Mybatis项目中存在多个日志系统mybatis会自动在其中选择一个如果需要修改为其他的日志系统那么logImpl这个配置就很有用了它可以指定具体使用哪一个日志系统对于logback和log4j2的配置如下
!--logback日志系统使用以下配置--
setting namelogImpl valueslf4j/!--log4j2日志系统使用以下配置--
setting namelogImpl valuelog4j2/总结
Mybatis的日志相关的代码都在 org.apache.ibatis.logging.*这个包下其中定义了很多日志的行为因此配置完日志系统后不需要对Mybatis进行任何修改即可产生相应的日志内容。虽然框架提供的功能很强大但还是有一些细节需要注意比如
Mybatis支持log4j和log4j2但没有logback的支持需要通过slf4j间接使用logback当mybatis项目中存在多个日志系统时可以通过配置修改Mybatis默认使用的日志系统 联系方式 邮箱qijilaolifoxmail.com ❗版权声明 本文为原创文章版权归作者所有。未经许可禁止转载。更多内容请访问奇迹老李的博客首页