AOP统一处理日志注:日志记录是系统非业务功能的重要一环,而日志中比较重要的是Controller层的请求日志,需要记录的信息包括登录用户、访问时间,访问接口,请求参数,响应结果等。本文基于Spring AOP、logback,在统一的切面对象中实现请求日志的统一处理。依赖<!-- Aspect AOP-->
<dependency>
    <groupId>            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-26 12:36:54
                            
                                66阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            概述当我们的日志达到一定数量级的时候我们怎么查看,分析日志?打开日志慢慢找?别扯了。ELK能够实现日志过滤,分析?接下来将进行介绍。 首先看图说话 然后一步一步来因为我引用了视频spring cloud sleuth,所以会带有16位的traceId,由于我需要32位,所有我自己生成了traceId,如若不需要刻意参考后面配置直接使用MDC在全局变量中取 网关拦截http请求,生成traceId,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-22 11:51:44
                            
                                78阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言今年的金三银四已经过去一大半了,在这其中参与过不少面试,2021都说工作不好找,这也是对开发人员的要求变向的提高了。 之前在Github上收获15K+star的Java核心神技(这参数,质量多高就不用我多说了吧)非常全面,包含基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式            
                
         
            
            
            
              面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。  我们现在做的一些非业务,如:日志、事务、安全等都会写在业务代码中(也即是说,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-28 06:20:14
                            
                                98阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            需求描述:在单体服务中我们需要查看日志只需直接在日志文件中 grep、awk 就可以获得自己想要的信息。但是在微服务架构中,不同的服务模块一般会部署多个节点,日志散落在多个节点的日志文件中。一旦出现问题,我们就需要登录不同的服务节点分别查看日志,非常之繁琐。所以在微服务架构中,我们是需要建立集中式日志收集系统,将所有节点上的日志统一收集,管理,访问。现在目前主流的分布式日志解决方案还是基于ELK(            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-08 21:54:06
                            
                                138阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            这个问题是我曾经的一个问题,虽然比较容易解决,但是一直没有去写下来。问题是这样的:一般在开发环境下使用DEBUG级别的日志输出是为了方便查看问题,而在线上一般都使用INFO、WARN、ERROR级别的日志,主要记录业务操作或者错误的日志。下面两种场景:1、针对上面问题所述的情况,我们正常的操作是这样的:》开发的时候本地修改日志输出级别,如果打的包是上生产环境的包(不管你用手工还是CI打包...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-09-01 09:25:29
                            
                                1047阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            这个问题是我曾经的一个问题,虽然比较容易解决,但是一直没有去写下来。问题是这样的:一般在开发环境下使用DEBUG级别的日志输出是为了方便查看问题,而在线上一般都使用INFO、WARN、ERROR级别的日志,主要记录业务操作或者错误的日志。下面两种场景:1、针对上面问题所述的情况,我们正常的操作是这样的:》开发的时候本地修改日志输出级别,如果打的包是上生产环境的包(不管你用手工还是CI打包...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-02-25 16:19:45
                            
                                366阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            我们现有的日志框架有许多,例如:UCL,JUL,jboss-logging,logback,log4j,slf4j等等。Spring Boot默认选用slf4j和logback,在pom.xml中我们选择层级关系表,可以看到相关的jar包。我们使用slf4j来介绍以下它的用法,我们创建一个Logger对象,然后调用它的几个常见方法来看看。然后我们运行测试方法,发现它只打印三个,分别是info,wa            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-08 14:12:52
                            
                                60阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            业务场景有时候在本地开发时,为了方便,会手工添加配置文件,将日志级别调低(系统默认是info级别)。例如:在application.yml文件中添加如下配置:logging:  level:    com:      xxx: debug但是上线过程中,很容易忘记删除或者将级别降低。本文将会告诉你如何避免生产环境不停打debug日志;同时也会告知如何调低生产的日志级别(一旦上了生产日志级别会自动修            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-06-01 11:53:35
                            
                                1199阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                             
         
            
            
            
             https://github.com/leoChaoGlut/log-sys上面是我基于Spring Cloud ,Spring Boot 和 Docker 搭建的一个分布式日志系统.目前已在我司使用. 想要学习Spring Cloud, Spring Boot以及Spring 全家桶的童鞋,可以参考学习,如果觉得好,star 一下吧~ <<<< 20            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-14 21:44:12
                            
                                59阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # 实现Java热刷新的步骤
## 介绍
在开发Java应用程序时,我们通常需要修改代码并重新编译运行,以查看结果。这种方式相对繁琐,并且在大型项目中可能会花费较长时间。为了提高开发效率,我们可以使用Java热刷新技术,它允许我们在不重新启动应用程序的情况下即时查看代码修改的结果。本文将详细介绍如何实现Java热刷新。
## 步骤示意图
以下是实现Java热刷新的步骤示意图:
```merm            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-09-24 06:24:04
                            
                                67阅读
                            
                                                                             
                 
                
                             
         
            
            
            
              针对业务开发人员通常面对的业务需求,我们将日志分为操作(请求)日志和系统运行日志,操作(请求)日志可以让管理员或者运营人员方便简单的在系统界面中查询追踪用户具体做了哪些操作,便于分析统计用户行为;系统运行日志又分为不同的级别(Log4j2): OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-29 11:47:37
                            
                                72阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            springcloud按照可运行jar包部署时,如果直接将业务脚本groovy打入jar则不支持热部署。需要将业务脚本groovy放置到另一个git目录下编写,开发时使用linked目标放置到project中,部署是不打入jar中。nhmicro框架代码地址:https://github.com/jeffreyning/nh-micro借助nhmicro框架中micro-git-sync模块功能在            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2018-01-22 11:25:46
                            
                                4973阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            十三.消息总线实现配置自动刷新-Spring Cloud Bus1.基本概念1.1.为什么要自动刷新配置在上一章节我们学习了如何通过Spring Cloud Config统一管理配置文件,但是有一个不美丽的地方就是每次修改了Git仓库中的配置文件我们需要去重启微服务之后配置才会起作用,这样给我们的微服务带来了极大的不方便,本章节我们将学习一个新的组件Spring Cloud Bus,使用它来实现配            
                
         
            
            
            
            上文(点此回顾)介绍了 Spring Cloud 中配置中心的搭建以及客户端(即微服务项目,如博客系统)读取配置中心配置的方法。但是,我们发现,每次在 GitHub 上修改配置,比如修改了数据库账号密码,需要重启客户端项目才生效,这个成本还是比较大的。我们之前说了 Spring Cloud Config 可以实现自动刷新配置的,怎么实现呢?本文将介绍通过 Spring Cloud Bus 实现,标            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-12 11:09:29
                            
                                63阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            关于跟踪 、日志和消息该帮助文件提供了关于从产品代码中生成的跟踪、日志和消息的概述。另见: 
查看跟踪、日志和消息  
跟踪、日志和消息设置  
跟踪并调试应用程序  Application Server 产品提供了它自己各种级别的信息,这些信息包括了从控制台高级的信息到更加详细的服务器执行日志和综合跟踪。 学习: 
跟踪、日志和消息  
消息和跟踪事件 &            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-29 20:58:05
                            
                                76阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            日志只需要三种级别:normal、error、debug。其中normal用来记录一般性的程序运行信息,error用来记录必须处理的错误信息,debug用来记录详细的调试信息。程序普通运行的时候只开normal和error日志;当需要追踪问题的时候再开debug日志。这分别代表了我们能够做出的三种反应:日常查看状态(normal)、发现需要关注解决的问题(error)、调试分析问题(debug)。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-06 22:44:13
                            
                                59阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、基础知识比较简单的一些基础入门:二、微服务构建:Spring boot三、服务治理:Spring Cloud Euraka四、客户端负载均衡:Spring Cloud Ribbon五、服务器容错保护:Spring Cloud Hystrix六、声明式服务调用:Spring Cloud Feign七、API网关服务:Spring Cloud Zuul八、分布式配置中心:Spring Cloud             
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-24 22:19:13
                            
                                31阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             目录1 Nacos安装1.1 Nacos概要1.2 Nacos架构1.3 Nacos安装1.3.1 Nacos Derby安装1.3.2 Nacos MySQL版安装1.3.3 Docker 安装Nacos2 Nacos功能应用2.1 Nacos服务注册与发现2.2 负载均衡2.3 配置中心2.4 灰度发布3 Nacos集群3.1 集群架构3.2 Nacos集群部署3.3 客户端接入Nacos集            
                
         
            
            
            
            一:为什么要搭建Eureka Server 集群在一个分布式系统中,服务注册中心是最重要的基础部分,如果是单点话,遇到故障就是毁灭性的,理应随时处于可以提供服务的状态。为了维持其可用性,使用集群是很好的解决方案。Eureka通过互相注册的方式来实现高可用的部署,所以我们只需要将Eureke Server配置其他可用的serviceUrl就能实现高可用部署。 Eureka集群框架图如下: