JavaSpringBoot,SQL日志输出

2023年 10月 11日 78.8k 0

使用IEDA下 测试和调试项目的时候,都是往屏幕上输出,也就是控制台.如何往文件里输出呢?这就要涉及到JAVA的众多框架

1 log4j
2 log4j2
3 slf4j
4 logback

百度下都是老日志框架组合输出,公司使用log4j 翻了翻不知道怎么配置的
折腾2天或许是3天,放弃了. 最终选择SPRINGBOOT自身带的框架LOGBACK和MYBAITS-PLUS 自身框架SLF4J 组合

首先 在POM.XML 引入包

   org.springframework.boot
   spring-boot-starter-logging

其二 在resources 新建个XML文件 logback-spring.xml

具体设置放在最后,这个不是重点

其三  在项目配置文件里 application-dev.properties 设置
3.1

logging.config.classpath = logback-boot.xml

YML格式:
logging:
config: classpath:logback-boot.xml

这样就把日志配置文件关联起来了. 默认情况下 日志配置名是  logback-spring.xml. 所以上面就不用写!

3.2 开启DEBUG模式

logging.level.com.baomidou.mybatisplus=DEBUG
#项目mapper的接口目录
logging.level.com.example.demo.MapperInterface=DEBUG

第一个属性照写就行,baomidou. 好像是某个项目名称,其实非也!
第二个属性是XML文件对应的方法接口类

下面是LOGBACK.XML设置.中英文注释,大家应该看懂七七八八

logback

debug

${CONSOLE_LOG_PATTERN}

UTF-8

${log.path}/debug.log

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
UTF-8

${log.path}/debug-%d{yyyy-MM-dd}.%i.log

100MB

15

debug
ACCEPT
DENY

${log.path}/info.log

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
UTF-8

${log.path}/info-%d{yyyy-MM-dd}.%i.log

100MB

15

info
ACCEPT
DENY

${log.path}/warn.log

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
UTF-8

${log.path}/warn-%d{yyyy-MM-dd}.%i.log

100MB

15

warn
ACCEPT
DENY

${log.path}/error.log

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
UTF-8

${log.path}/error-%d{yyyy-MM-dd}.%i.log

100MB

15

ERROR
ACCEPT
DENY

最后看下效果

设置好了运行测试OK 会在项目里出现LOGS目录

出现了4个日志文件,自然大家可以把4个文件合并在一起

日志输出图,它同时在控制台和日志文件里输出.

下面两个在 application-dev.properties 或者是 application.properties 项目属性设置

logging.level.com.baomidou.mybatisplus=DEBUG

只输出

2023-10-10 17:38:51.099 [main] DEBUG c.b.m.e.spring.MybatisSqlSessionFactoryBean - Parsed mapper file: 'file [D:MY_JAVA_PROJECTSShark_Java_DemotargetclassesMapperPersonal.xml]'

下面这个会输出SQL和参数, 这个是MAP文件 JAVA 接口 目录

logging.level.com.example.demo.MapperInterface=DEBUG

优秀员工搞不定的事DBA搞定了

关于JAVA分页新知识

DBA 讨厌JAVA分页插件,随手写个分页代码

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论