SpringBoot配置log4j2,将MyBatis日志打印到log4j2中 |
您所在的位置:网站首页 › springboot打开mybatis日志 › SpringBoot配置log4j2,将MyBatis日志打印到log4j2中 |
近期需要做一个小的服务,最后决定使用SpringBoot框架做,期间遇到了一些坑,现在总结一下,以防后续踩坑。 本人使用的SpringBoot版本是2.5.3,对应的log4j2的版本是2.2.5,MyBatis使用的是SpringBoot自带的依赖:版本2.0.0 引入依赖,记得移除SpringBoot自带的logging; org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-logging ch.qos.logback logback-classic org.springframework.boot spring-boot-starter-log4j2 2.2.5.RELEASE 首先在SpringBoot中配置log4j2,log4j 2.x版本不再支持像1.x中的.properties后缀的文件配置方式,2.x版本配置文件后缀名只能为".xml",".json"或者".jsn". 此处本人新建的为xml文件,根据个人习惯自行决定,名字可以为log4j2.xml或者像图中也可。文件的存放目录放在resources下。配置文件不需要在yml或yaml文件中配置,直接放入到resources目录下即可,本人测试在yml文件中配置路径与不配置一样生效,不用纠结(我就是纠结很久,最后SpringBoot会自己查找,尴尬)。 log4j2配置文件的内容如下: %d{HH:mm:ss} [%t] %-5level %logger{36} - %msg%n配置好log4j2的文件并放到对应位置后即可在代码块中添加日志测试一下了。 现在测试一下日志是否打印出来,在自己的controller层或者serviceImp层添加调用,此处本人是在controller层。 @Controller @RequestMapping("/test") public class DeptController { //slf4j 日志 推荐第一条写法 Logger logger = LoggerFactory.getLogger(this.getClass()); //Logger logger = LoggerFactory.getLogger(DeptController .getClass()); @Autowired private DeptService deptService; @Autowired DataSource dataSource; @RequestMapping("testDb") @ResponseBody public String testDb() { int dept = 10; String res = deptService.SelDept(dept).toString(); logger.info("===========info========="); logger.info("===========warn========="); logger.info("===========error========="); return res; } } 启动测试结果,可以正常打印 到此处,log4J2的配置完成,现在配置将MyBatis的sql语句输出到log4j2的日志文件中。 配置MyBatis的SQL日志打印到log4j2的日志文件中 首先在resources目录下新建MyBatis.xml文件 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |