每个工程都有多个环境,不限于开发rd,测试qa,预发pre,线上online,这些环境对日志记录的需求是不一样的,目前开发中大家为了在开发测试环境能方便看日志,都会开启控制台输出,合并到master时这里难免会出现冲突或者将控制输出代码合并到master,仅仅在线上才会应用,这就需要不同环境有不同的log4j配置,可采取以下方式:
##启用配置
spring:
profiles:
active: local
1、在application.yml或者application.properties中修改日志文件配置,将
logging:
config: classpath:log4j2.xml
修改为:
logging:
config: classpath:log4j2-${spring.profiles.active}.xml
2、不同环境的日志配置文件并根据需求调整,注意一定是log4j-{profile}.xml这种格式
3、将原log4j.xml中Configuration内的标签全删除
这一步可选,目的是为了保留默认的配置文件,这个是log4j约定的文件名称,如果缺失,启动时会有一个异常
Error creating converter for xwEx java.lang.reflect.InvocationTargetException