开发者社区> 问答> 正文

使用log4j2时,还要把log4j的jar文件导入吗?

我在springboot项目里根据上面介绍的配置方式使用log4j2,启动时控制台报错: Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_152] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_152] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338) ~[?:1.8.0_152] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_152] at com.alibaba.druid.filter.logging.Log4jFilter.(Log4jFilter.java:26) ~[druid-1.1.9.jar:1.1.9] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_152] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_152] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_152] at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_152] at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_152] at com.alibaba.druid.filter.FilterManager.loadFilter(FilterManager.java:114) ~[druid-1.1.9.jar:1.1.9] at com.alibaba.druid.pool.DruidAbstractDataSource.addFilters(DruidAbstractDataSource.java:1286) ~[druid-1.1.9.jar:1.1.9] at com.alibaba.druid.pool.DruidAbstractDataSource.setFilters(DruidAbstractDataSource.java:1275) ~[druid-1.1.9.jar:1.1.9]

https://github.com/alibaba/druid/wiki/Druid%E4%B8%AD%E4%BD%BF%E7%94%A8log4j2%E8%BF%9B%E8%A1%8C%E6%97%A5%E5%BF%97%E8%BE%93%E5%87%BA

原提问者GitHub用户itinypocket

展开
收起
山海行 2023-07-05 19:59:28 67 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在使用log4j2时,不需要导入log4j的jar文件。log4j2是一个独立的日志框架,不需要依赖log4j或其他日志框架。如果您使用的是log4j2,只需要将log4j2的相关jar文件导入到您的项目中即可。

    在使用log4j2时,您需要在项目的依赖项中添加log4j2的相关jar文件,包括log4j-api和log4j-core等。这些jar文件包含了log4j2的核心功能和API,可以让您在项目中使用log4j2进行日志记录。

    需要注意的是,如果您的项目中已经导入了log4j的jar文件,则可能会与log4j2产生冲突。为避免这种情况,建议您在使用log4j2时不要导入log4j的jar文件,以确保log4j2可以正常运行。

    如果您需要同时使用log4j和log4j2,可以使用log4j2提供的适配器(adapter)来兼容log4j。适配器可以将log4j的日志事件转换为log4j2的日志事件,并将它们传递给log4j2进行处理。在这种情况下,您需要导入适配器相关的jar文件,并将适配器配置到log4j2的配置文件中。

    2023-07-30 14:36:27
    赞同 展开评论 打赏
  • spring.datasource.druid.filters=stat,wall,log4j 这个配置的值去掉log4j就不报错了

    原回答者GitHub用户itinypocket

    2023-07-06 11:16:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
Kubernetes下日志实时采集、存储与计算实践 立即下载
日志数据采集与分析对接 立即下载