摘要: 为了加快程序的响应,日志异步打印是很有必要的。这里贴一个配置异步日志的xml,方便后续查阅 一、原理 logback的异步打印日志,原理就是用了一个阻塞队列来缓冲。具体可以参考源码ch.qos.logback.core.AsyncAppenderBase 二、参数说明 二、参数说明 1. queue 阅读全文
posted @ 2022-06-07 10:09 zeng1994 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 曾经主导过一个SpringSecurity项目的改造,将Session改成Token;今日有一好友询问我相关经验,因此记录一下当时所做的内容 改造过程 SpringSecurity的session改token大概内容如下:禁用session登录成功,生成token,此token可以是jwt-toke 阅读全文
posted @ 2022-03-22 09:16 zeng1994 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 记录一个数据上传下载夏令时踩坑经历。客户端将数据上传到平台,客户端再下载该数据,发现人的生日居然变成了前一天的23点,相差1小时 一、时区说明 Asia/Shanghai: 兼容夏令时,下面简称 "上海" GMT+8: 不兼容夏令时,比夏令时时间慢一个小时, 下午简称"东八" 二、转换丢失一小时说明 阅读全文
posted @ 2021-12-11 16:32 zeng1994 阅读(105) 评论(1) 推荐(0) 编辑
摘要: 开发过程中,日志一般都是直接输出到logstash,不过这都是几年前的玩法了。生产环境一般都是通过Filebeat去收集日志,不采用应用直连logstash的方式。为了实现快速切换,因此在项目的application.yml中添加个开关,直接通过开关切换输出到文件还是logstash 一、实现思路 阅读全文
posted @ 2021-10-26 23:44 zeng1994 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 公司项目采用SpringBoot+dubbo技术栈,虽然上了elk,但是还是不能把所有的日志串联起来。因此自己写了一套traceId和spanId的生成方案。在此记录下该方案的具体实现,方便后续查阅 一、 名词解释 traceId:链路Id spanId:可以理解为服务Id,一各请求可能会调用多个服 阅读全文
posted @ 2021-10-26 23:42 zeng1994 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 参考链接,http://www.logback.cn/ 一、logback打印json格式到文件注意事项 1.用springboot默认的encoder 一定要对日志内容中的双引号进行转义,不然会破坏json的结构。 转义方法 采用 %replace对双引号进行转义,参考下面的案例 {"system 阅读全文
posted @ 2021-10-26 23:41 zeng1994 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 前后端分离后,由于没有了session,导致验证码内容存储在session已经不可能了,因此考虑存储在redis。本文将介绍一种基于cookie + redis方案的验证码 一、方案的提出 (1)验证码存放位置 没了session,则存储在redis,why? 因为redis 具有key自动过期,所 阅读全文
posted @ 2021-10-26 23:36 zeng1994 阅读(820) 评论(0) 推荐(1) 编辑
摘要: 在项目开发过程中,swagger ui是个非常好用的在线接口文档生成工具。但他有个缺点,不够安全,可以直接访问。虽然生产环境一般会关闭它,但难免有时候有人会把它开启,所以它需要一个登录的功能。本文将叙述登录功能的两种实现方案,两种方案随便一种都可以使用,看个人喜好。 一、环境说明 springboo 阅读全文
posted @ 2021-10-26 23:28 zeng1994 阅读(1417) 评论(0) 推荐(0) 编辑
摘要: (1)pom.xml添加依赖 下面测试这段代码是否输出来验证发布功能是否正常 <!-- springboot - Redis --> 20210526 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin 阅读全文
posted @ 2021-06-29 10:25 zeng1994 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 一、启动jar包时添加点参数 在启动远程的jar包时添加启动参数 -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 最后一个是远程debug的端口号,可自定义 二、IDEA配置远程debug 打开Intelli 阅读全文
posted @ 2021-06-09 21:41 zeng1994 阅读(98) 评论(0) 推荐(0) 编辑