96SEO 2026-02-20 03:46 39
为了生产中更快的分析问题以及解决问题sql输出是非常有必要的这里第一步是将sql输出到控制台便于调试时分析问题优化sql

mybatis-plus:configuration:log-impl:
org.apache.ibatis.logging.stdout.StdOutImpl
使用测试类进行测试注意本地调试可以使用这种方式打开日志如果线上日志输出到文件要用下面的高级输出方式
使用数据库操作分析框架p6spy组件进行sql分支但是该组件比较消耗性能生产环境中不建议使用但是如果想玩玩的话大家可以试试。
因为生产环境想要知道程序是否是按照我们的意愿正常运行的通过日志输出是最直观最有效的方式。
日志文件输出我们一般常用日志输出框架有两种一种是log4j2、另一种是logback。
而springboot中默认使用的是logback框架考虑到性能原因大多数生产环境使用日志框架为log4j2所以这里也以log4j2框架进行整合和练习。
--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-log4j2/artifactId/dependency!--
--dependencygroupIdcom.fasterxml.jackson.dataformat/groupIdartifactIdjackson-dataformat-yaml/artifactId/dependency
为何用jackson-dataformat-yaml包问就是可读性好log4j2官方采用的是.xml.json或者.jsn这种方式来做配置我们既然使用了springboot那当然要用yml文件来配置了而这个包就是为了程序启动时辨认log4j2-*.yml文件的。
全局排除spring-boot-starter-logging相关所有依赖
--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-logging/artifactIdexclusionsexclusiongroupId*/groupIdartifactId*/artifactId/exclusion/exclusions/dependency
Configuration:#Configuration后面的status这个用于设置log4j2自身内部的信息输出可以不设置当设置成trace时你会看到log4j2内部各种详细输出#日志级别以及优先级排序:
定义全局变量Properties:Property:#日志存放路径-
/Users/liuph/dev/space/log/iterge_pre#定义日志输出目的地内容和格式等Appenders:#
SYSTEM_OUT#输出日志的格式PatternLayout:Pattern:
其中%d{yyyy-MM-dd}表示了日志的时间单位是天filePattern:
${log.path}/iterge_pre_%d{yyyy-MM-dd}.logPatternLayout:Pattern:
%m%n#归档设置Policies:#按时间间隔归档TimeBasedTriggeringPolicy:#时间间隔
1#是否对interval取模决定了下一次触发的时间点modulate:
size表示当前日志文件的最大size支持单位KB/MB/GB#SizeBasedTriggeringPolicy:#size:
只有定义了logger并引入的appenderappender才会生效AppenderRef:-
在配置文件中添加需要生效的log4j2的配置信息我这里生效的配置文件是application-dev.yml所以我在application-dev.yml中加入以下配置代码
#这里配置日志生效文件用于多环境部署时切换通常部署会有三个环境线上、测试、开发
classpath:log4j2/log4j2-dev.yml
如上图日志打印格式已经按照我们配置的打印了这里大家可能问这个“[]”是什么含义接着往下看。
为什么给日志请求加个id这里当然是为了方便了举个例子当你在线上查询问题时一段代码你你可能加了10个日志输出点而线上业务日志又有很多的情况下你难道要一行一行的检索日志来看吗这时候当然请求id检索更香啊
新建过滤器LogTraceFilter代码中的“request_id”要和log4j2的配置文件中设置的一致
UUID.randomUUID().toString().replace(-,
));filterChain.doFilter(servletRequest,
servletResponse);MDC.remove(request_id);}}
userMapper.selectById(id);log.info(请求结果{},user.getName());log.info(你看这样很明显知道我们是一次请求的log吧);return
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback