springboot-mybatis-sql-logging
Tried mybatis logging from the official site, but it wasn't working. So here's another way to log sql queries & parameters in springboot using mybatis & slf4j.
Steps to log SQL:
- Add below dependency in
pom.xml
file.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.5</version>
</dependency>
- Add below line in your
application.properties
file.
logging.level.org.mybatis=DEBUG
NOTE: Adding logging.level.org.mybatis=TRACE
will also log the query result, such as fetched column-rows & values.
Result:
2023-05-06T01:28:30.472+05:30 DEBUG 4279 --- [nio-8443-exec-1] o.m.e.m.EmployeeMapper.findEmployeeById : ==> Preparing: select * from employees where id = ?
2023-05-06T01:28:30.524+05:30 DEBUG 4279 --- [nio-8443-exec-1] o.m.e.m.EmployeeMapper.findEmployeeById : ==> Parameters: 2(Integer)
2023-05-06T01:28:30.616+05:30 DEBUG 4279 --- [nio-8443-exec-1] o.m.e.m.EmployeeMapper.findEmployeeById : <== Total: 1
2023-05-06T01:34:22.838+05:30 DEBUG 4426 --- [nio-8443-exec-1] o.m.e.m.E.fetchEmployeeList : ==> Preparing: select * from employees
2023-05-06T01:34:22.927+05:30 DEBUG 4426 --- [nio-8443-exec-1] o.m.e.m.E.fetchEmployeeList : ==> Parameters:
2023-05-06T01:34:22.993+05:30 DEBUG 4426 --- [nio-8443-exec-1] o.m.e.m.E.fetchEmployeeList : <== Total: 4
2023-05-06T01:28:35.664+05:30 DEBUG 4279 --- [nio-8443-exec-2] o.m.e.m.E.insertEmployeeDetails : ==> Preparing: insert into employees (id, name, yoe, tech) values (?, ?, ?, ?)
2023-05-06T01:28:35.670+05:30 DEBUG 4279 --- [nio-8443-exec-2] o.m.e.m.E.insertEmployeeDetails : ==> Parameters: 4(Integer), ddd(String), 2(Integer), java, hibernate(String)
2023-05-06T01:28:35.974+05:30 DEBUG 4279 --- [nio-8443-exec-2] o.m.e.m.E.insertEmployeeDetails : <== Updates: 1
logging.level.org.mybatis=TRACE
is used:
When 2023-05-06T01:06:47.360+05:30 DEBUG 3852 --- [nio-8443-exec-1] o.m.e.m.EmployeeMapper.findEmployeeById : ==> Preparing: select * from employees where id = ?
2023-05-06T01:06:47.428+05:30 DEBUG 3852 --- [nio-8443-exec-1] o.m.e.m.EmployeeMapper.findEmployeeById : ==> Parameters: 1(Integer)
2023-05-06T01:06:47.584+05:30 TRACE 3852 --- [nio-8443-exec-1] o.m.e.m.EmployeeMapper.findEmployeeById : <== Columns: id, name, yoe, tech
2023-05-06T01:06:47.584+05:30 TRACE 3852 --- [nio-8443-exec-1] o.m.e.m.EmployeeMapper.findEmployeeById : <== Row: 1, aaa, 3, java, sql
2023-05-06T01:06:47.605+05:30 DEBUG 3852 --- [nio-8443-exec-1] o.m.e.m.EmployeeMapper.findEmployeeById : <== Total: 1