log4j2.xml放到jar包之外(亲,测有效,springboot项目)
这个东西搞了我很久的心态,所以先让我说一点废话,好的,废话说完了,另外,我也不太清楚这个东西有无后遗症,烦请知道的诸君下方留言告诉我,下面上方法
第一步:
将log4j2.xml放到项目根目录中的config文件夹中(这个不要拘泥,随意放)
第二步:
在springboot启动项中添加代码(是的,这个不需要在配置文件中添加配置)
代码:public static void main(String[] args){
URL url = ClassLoader.getSystemClassLoader().getResource("./");
File file = new File(url.getPath());
String path = file.getParentFile(0.getParentFile().getPath()+File.separator+"config"+"log4j2.xml";
//上面的代码就是为了拿到jar包外中log4j2.xml的绝对路径,不拘泥方法
System.setProperty("logging.config",path);
//上面的代码不知道有没有后遗症,请知道的帮忙看下,意思就是,在日志监听器拿文件的时候,这里能保证在环境变量中有logging.config这个变量,并且,存有他的绝对路径
//下面就是springboot启动项的代码了
SpringApplication.run(XXApplication.class,args);
}
第三步:
收工,没了,就这么多,再多也没有了,呵
此处有更新:发现一个更简单的方法,下面是所有操作:
在application.properties中直接添加 logging.config=config/log4j2.xml ,日志文件还是放在项目根目录中的config文件夹中,网上其他的方法配置文件中放的是logging.config=classpath:config/log4j2.xml 这里的classpath是指resource下面的config,并不是根目录下面的。就酱。