【微服务搭建-集成Log4j 日志配置】

【微服务搭建-集成Log4j 日志配置】微服务搭建 集成 Log4j 配置 第一步 引入 log4j 依赖 在微服务架构中我们通常会抽取出一个公共的模块 常规命名为 common 模块 而其他的微服务都会依赖于这个 模块 所以加入 log4j 依赖时 建议在 commom 模块引入 前提是在父工程引入 log4j 依赖管理

大家好,我是讯享网,很高兴认识大家。

微服务搭建

集成Log4j 配置

第一步:引入 log4j ,依赖

在微服务架构中我们通常会抽取出一个公共的模块,常规命名为 common 模块 ,而其他的微服务都会依赖于这个 模块,所以加入log4j 依赖时,建议在 commom 模块引入:(前提是在父工程引入log4j 依赖管理)

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j</artifactId> </dependency> 
讯享网

第二步:准备 log4j 文件 :

这里日志的要求是:在 D:/ayou/ideaWrokSpace/DreamHome/DreamHome/logs/ 路径下生成各个服务自己的 日志,因为后续会有很多个微服务,所以日志按照 服务名称 按天生成。而仅在文件中配置我们是无法动态生成目录的,所以需要 重写DailyRollingFileAppender, 在共功能模块中 重写 DailyRollingFileAppender 如下:

讯享网public class AbstractLogDailRollingFileAppender extends DailyRollingFileAppender { 
    // 服务名称 public String SERVER_NAME; // 日志路径  public String LOG_PATH; @Override public void activateOptions() { 
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date date = new Date(); // this.fileName 对应着 日志文件中 log4j.appender.error.File 的路径 LOG_PATH=this.fileName; // 当前日期 String format = dateFormat.format(date); // 例如 d:/ayou/dh-user/.error.log File file = new File(LOG_PATH + SERVER_NAME + "/" + format); if (!file.exists()){ 
    // 不存在则创建文件夹 file.mkdir(); } this.fileName=file.getAbsolutePath()+"/"+this.name+".log"; super.activateOptions(); } } 

以上代码我们也只是修改了 this.fileName 的路径,为我们自定义的路径,

修改每个微服务的log4j.properties文件: 指定 自定义的日志处理类 com.ayou.dh.common.config.AbstractLogDailRollingFileAppender

log4j.rootLogger=info,error,CONSOLE,info log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=%d{ 
   yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n #log4j.logger.info=info log4j.appender.info=com.ayou.dh.common.config.AbstractLogDailRollingFileAppender log4j.appender.info.layout=org.apache.log4j.PatternLayout log4j.appender.info.layout.ConversionPattern=%d{ 
   yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n log4j.appender.info.Threshold = info log4j.appender.info.File=D:/ayou/ideaWrokSpace/DreamHome/DreamHome/logs/dh-user #log4j.logger.error=error log4j.appender.error=com.ayou.dh.common.config.AbstractLogDailRollingFileAppender log4j.appender.error.layout=org.apache.log4j.PatternLayout log4j.appender.error.layout.ConversionPattern=%d{ 
   yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n log4j.appender.error.Threshold = error log4j.appender.error.File=D:/ayou/ideaWrokSpace/DreamHome/DreamHome/logs/dh-user log4j.logger.Java.SQL.resultset=info log4j.logger.org.apache=INFO log4j.logger.Java.SQL.connection=info log4j.logger.Java.SQL.statement=info log4j.logger.Java.SQL.prepared.statement=info log4j.logger.org.hibernate=info log4j.logger.org.hibernate.SQL=trace log4j.logger.org.hibernate.hql=trace log4j.category.org.hibernate.type=trace log4j.logger.org.spring.framework=info 

将log4j.properties文件,放到每个微服务的 resource 文件路径下,并在 application.yml 文件或者 bootstrap.yml 文件 配置 如下:

讯享网 logging: config: classpath:log4j.properties 
小讯
上一篇 2025-03-19 15:40
下一篇 2025-02-27 20:02

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/54708.html