- 博客(15)
- 收藏
- 关注
原创 springboot项目日志记录访问客户端ip地址
1.背景在我们项目开发中,很多时候需要记录访问ip地址,方便跟踪操作日志定位是哪个机器访问了我们的服务(逮住证据),或者根据ip做一些分析统计。那么使用springboot自带的logback如何记录客户端访问ip呢?下面详细说明。2.重写日志规则方法记录ip创建IPLogConfig类实现ClassicConverter类重写convert方法获取请求上下文返回ip,如下:package com.bylz.api.config;import ch.qos.logback.cl
2022-05-05 15:07:46 4430 7
原创 SpringBoot整合logback封装日志打印
1.背景在后端服务开发框架搭建时,通常需要在日志模块进行统一封装,方便日志统一规范输出、后期接入类似ELK日志分析框架、以及开发过程中的日志打印;springboot默认整合好了logback,我们只需要添加lombok依赖,可以帮助我们通过注解的形式调用到日志的api(更加方便);同时配置日志输出规范及清理策略和分支差异打印就可满足我们日常开发需要了。2.集成与配置集成lombok(注解方式打印日志,引入依赖即可):<!--lombok依赖--><depe
2022-04-24 19:12:17 933 1
原创 pageHelper分页sql存在order by排序时无法正确分页解决
问题描述:在项目中正常开发一个列表查询接口,由于sql中子查询中存在order by排序且group by分组,调试中发现,分页不正常问题排查:1.开启mapper层日志打印sql2.发现打印出来的sql语句不对,缺少order by语句部分解决方法:在开启分页时多传递一个参数,传递count参数为false即可:PageMethod.startPage(trialApplyListDTO.getPageNum(), trialApplyListDTO.getPageSize(
2022-04-12 14:55:38 1912
原创 springcloud gateway服务集成Feign调用错误:No qualifying bean of type `HttpMessageConverters`记录
1.问题描述在使用spring gateway网关服务做统一鉴权时,尝试使用Feign远程调用服务的时候,报错了,记录下自己的分析及错误解决方案2.报错内容feign.codec.DecodeException: No qualifying bean of type 'org.springframework.boot.autoconfigure.http.HttpMessageConverters' available: expected at least 1 bean which qua
2022-02-22 10:26:35 2562 2
原创 Drone+Gogs+docker搭建轻量CICD
1.背景Drone是一个持续集成和持续交付的平台,可以与Docker完美集成。相对于Jenkins来说更加轻量,可以配合轻量的Gogs来实现持续集成。为什么选择Drone而不是Jenkins,为什么选择Gogs而不是gitlab,主要原因是因为更轻量,简洁,更适合自己研究或者小型企业项目(PS:当然也有一部分原因是博主的服务器资源有限,但又想强行玩CICD,哈哈。。。)话不多说,下面开始操作:2.Gogs部署pull镜像:docker pull gogs/gogs部署服务:
2022-01-17 19:37:50 1567
原创 SpringBoot集成validation校验
1.背景一个健壮的系统都要对外部提交的数据进行完整性、合法性的校验。校验是我们程序开发中必不可少的过程。即使开发一个不面对最终用户的工具包,也需要对传入的数据进行缜密的校验来防止引发底层难以追踪的问题。后端参数校验最简单的做法是直接在业务方法里面进行判断,当判断成功之后再继续往下执行。但这样带给我们的是代码的耦合,冗余。当我们多个地方需要校验时,我们就需要在每一个地方调用校验程序,导致代码很冗余,且不美观。2.引入依赖<dependency> <gro
2022-01-14 14:04:52 649
原创 springboot集成springcloud openfeign rest接口调用
1.描述springcloud作为java的微服务框架,从java开发者的角度可以用一整套的cloud组件实现微服务编排治理,但是随着容器化如docker、kubernetes的兴起,微服务的治理编排工作使用cloud组件实际上就跟语言和代码耦合了,所以本文只使用openfeign组件做微服务直接的调用,主要目的是相比自己封装http更加方便,第三方接口统一整理方便维护2.版本信息springboot版本:2.5.6springcloud版本:2020.0.4由于目前只使用了op.
2021-12-15 20:55:38 1048
原创 指定JSON.toJSONString中实体类属性的输出顺序
最近在使用JSON.toJSONString方法过程中出现实体类的属性与转换之前的顺序不一致示例如下:public static void main(String[] args) { Person person = new Person(); person.setName("Tom"); person.setAge(20); person.setGender("Male"); person.setHeight(180.
2021-06-25 20:47:47 2419 4
原创 K8S Helm3安装及使用
Helm版本 helm v2 版本 包含两个组件,分别是 helm client客户端 和 Tiller 服务器, helm 是一个命令行工具,用于本地开发及管理chart,chart仓库管理等 Tiller 负责接收 Helm 的请求,与 k8s 的 apiserver 交互 helm v3 版本(安装简单,本文以helm3安装为例) 移除了Tiller helm直接和K8s交互 SA通过 kuberconfig 配置认证 设计原理 它是一个线程的方式运行 Helm-c..
2021-05-12 15:26:20 577
原创 linux vim鼠标不能右键粘贴内容
用vim时,鼠标右键不能粘贴是因为进入了visual模式(可视化),解决方法:方法一:(临时切换)# 编辑文本vim test.txt# 切换vim模式:set mouse-=a方法二:(永久修改)# 编辑 ~/.vimrc 文件,加入如下代码:if has('mouse') set mouse-=a endif...
2021-05-11 15:50:15 811 1
原创 linux替换apt-get源
修改源配置sources.list文件 cd /etc/apt/mv sources.list sources.list-bakvi sources.list
2021-05-11 15:22:22 181 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人