因为SpringBoot项目接入apollo,发现对于log配置文件的支持不是很友好,所以通过增加监听器来实现 将log4j2.xml文件放入到apollo进行在线化配置,暂没有实现热更新。
(logback和log4j2思路同理,可以参考)
基本实现思路为2步:
第1步:在apollo创建命名空间log4j2-spring.xml,将日志配置填入。
第2步:编写监听器,将apollo的log4j2-spring.xml内容加载到本地,指定为日志的配置文件即可。
(在日志框架加载之前和apollo参数初始化完成之后,从apollo读取日志xml配置,写入到本地,然后设置为日志路径)
具体实现方法如下代码。
监听器实现类:
package com.gil.project.monitor;
import org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent;
import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;
import org.springfram