最近项目用到对日志脱敏,经过研究通过logback实现了对日志脱敏,上篇文章中详细讲解了如果配置。但是还是对logback的配置不太了解。比如springboot怎么加载这个logback.xml的。
首先,默认情况下,logback.xml文件是放在类目录下,即resources文件下。文件名如果是logback.xml/logback-spring.xml。是不需要在springboot配置文件(yaml或者properties)中做相关配置,springboot会自动从resources下找到这个logback配置文件。
但是如果logback配置文件文件名是:logback-dev.xml。那么需要在springboot中指定这个配置文件名字。
logging.config=classpath:logback-dev.xml
另外,logback的配置文件也可以放在resources之外的目录下,比如放到项目根目录下的子目录里,也可以通过配置获取到。
首先对idea的设置环境变量指向logback的具体路径。如图:
其次是修改配置文件中配置:如下:
我遇到的问题:
1、就是在resources目录下存在指定的logback文件,但是启动项目时报:class path resource [logback-dev.xml] cannot be resolved to URL because it does not exist
截图如下:
大部分去情况下,是resouces目录下的logback文件名写错了(注意大小写)或者路径不对。但是我的这个情况不属于这个。从上图可以看出,target目录下没有logback-dev.xml文件,需要重新编译下把文件加到target目录下。如下操作:
2、就是在resources目录下没有任何logback的配置文件,但是项目也可以运行,代码里输出的log.info日志同样也可以输出。原因是springboot对于resources下没有logback配置文件时,会使用默认的配置文件,就是不能对logback进行个性化配置。