概述
1、在一个公共依赖下放一个log4j2.xml的默认配置
2、在需要使用的项目里,引入步骤一中的公共项目,并新建log4j2.component.properties文件,文件内的值为:
log4j.configurationFile=log4j2.xml,log4j2-test2.xml
这个代表使用2个log4j2.xml,并且后边log4j2-test2.xml中配置的属性将会覆盖log4j2.xml中的属性
当在线上环境需要外部的配置时候可以将log4j2.component.properties中的值改为
log4j.configurationFile=log4j2.xml,log4j2-test2.xml,./config/log4j2-test2.xml
同时在jar包的同级的config中添加log4j2-test2.xml并配置自己的配置
2、使用spring环境配置
2.1、编写配置类
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.lookup.AbstractLookup;
import org.apache.logging.log4j.core.lookup.StrLookup;
import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
/**
* 为log4J2注入spring环境信息
*/
@Plugin(name = "spring", category = StrLookup.CATEGORY)
@Order(Ordered.HIGHEST_PRECEDENCE)
public class SpringEnvrionmentLookup extends AbstractLookup
implements ApplicationContextInitializer<ConfigurableApplicationContext> {
private static ConfigurableApplicationContext context;
@Override
public String lookup(final LogEvent event, final String key) {
if (context != null) {
return context.getEnvironment().getProperty(key);
}
return null;
}
@Override
public void initialize(ConfigurableApplicationContext configurableApplicationContext) {
context = configurableApplicationContext;
}
}
2.2、使用spi形式注入
创建META-INF目录并在该目录下创建spring.factories,写入下边的信息
org.springframework.context.ApplicationContextInitializer=
配置类全路径
最后
以上就是笨笨夏天为你收集整理的Log4j2配置替换的全部内容,希望文章能够帮你解决Log4j2配置替换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复