AOP Log的使用及spring boot的优雅关闭

公司的多个spring boot微服务,都打算使用aop log,如果每个项目都有一份相同的代码,很冗余。尝试了很多次,终于成功写个jar,让各个项目使用。

首先的想法是,写个基类,让各个项目继承子类,然而切面类不能继承。

然后写一个切面类,做成jar,让各个项目引入这个jar,再在

@ComponentScan(basePackages = "")中引入即可。

当然,熟悉切面编程的人,以上都是小儿科了。

参考 Spring使用ComponentScan扫描Maven多模块工程的其它模块

Spring Boot 使用AOP记录日志信息https://my.oschina.net/wangxincj/blog/2994864

AspectJ Programming Guide

 AspectJ 5 Developer’s Notebook

SpringAOP官网介绍

Spring AOP应用场景你还不知道?这篇一定要看!

既然写了日志,那么日志在哪里呢?

如果使用Log4j,那么需要包括或者指定log4j.properties,需要在指定文件夹(lib目录)

spring boot如果使用${catalina.home}这样的路径,在linux下,会在/tmp/tomcat.numbers.port/文件夹下

参考 log4j保留某段时间内的日志https://blog.csdn.net/u011450110/article/details/51690095

log4j日志配置(按天/按日)

另外目前大量使用spring boot微服务,每次要关闭的时候都kill,实在糟糕,于是,找了资料,用命令关闭。

2个方法,一个是注册成服务。

另一个是打开endpoints及其shutdown,具体配置如下

endpoints:

  enabled: true  #打开

  sensitive: false   #无需口令

  shutdown:

    enabled: true

    sensitive: false

management:

  security:

    enabled: false 

  address: 127.0.0.1  #仅限本机

需要关闭的时候  curl -X POST http://127.0.0.1:8012/shutdown  就可以了。

参考 有一篇详细讲了endpoints和management的安全性考虑的配置,可惜暂时找不到了。

注意,项目需要增加依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>


参考: https://www.cnblogs.com/sxdcgaq8080/p/10578053.html

https://www.jianshu.com/p/44ef43b282f0

SpringBoot 实战 之 优雅终止服务https://blog.csdn.net/chinrui/article/details/78685032

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容