问题描述
SpringBoot 项目中使用了Druid连接池,启动项目时,log中打印出下面的错误信息,但是不影响程序的运行:
com.alibaba.druid.filter.FilterManager : load filter error, filter not found : sl4j
问题分析
打开druid jar包中,druid支持的过滤器类型都在一个druid-filters.properties
文件,,内容如下:
druid.filters.default=com.alibaba.druid.filter.stat.StatFilter
druid.filters.stat=com.alibaba.druid.filter.stat.StatFilter
druid.filters.mergeStat=com.alibaba.druid.filter.stat.MergeStatFilter
druid.filters.counter=com.alibaba.druid.filter.stat.StatFilter
druid.filters.encoding=com.alibaba.druid.filter.encoding.EncodingConvertFilter
druid.filters.log4j=com.alibaba.druid.filter.logging.Log4jFilter
druid.filters.log4j2=com.alibaba.druid.filter.logging.Log4j2Filter
druid.filters.slf4j=com.alibaba.druid.filter.logging.Slf4jLogFilter
druid.filters.commonlogging=com.alibaba.druid.filter.logging.CommonsLogFilter
druid.filters.commonLogging=com.alibaba.druid.filter.logging.CommonsLogFilter
druid.filters.wall=com.alibaba.druid.wall.WallFilter
druid.filters.config=com.alibaba.druid.filter.config.ConfigFilter
问题解决
仔细检查自己的配置文件,如下:
filters: stat,sl4j,wall # wall用于防火墙
发现是书写错误,slf4j写成了 sl4j,少了个f导致的。还是要细心。