开发者社区> 问答> 正文

引用的Jar包的Log4j配置覆盖了程序的Log4j配置 : 配置报错

开发语言:Java
描述:工程名叫做PDFWeb,引用了一个叫做 PDFCore 的Jar包。
    
    工程和Jar包都调用了以下代码配置Log4j,只是配置文件名不一样。
    static {         PropertyConfigurator.configure(configPath);     }      在工程中的 代码运行到调用PDFCore.jar中的接口之前,记录日志都是按工程中的Log4j配置来记录的。调用了一次 PDFCore.jar中的接口之后,不管在PDFWeb中运行的代码还是其他地方的代码,都按照PDFCore.jar的Log4j配置来记录日志了。     网上查了说要调用 PropertyConfigurator.configure 指定Log4j配置,但是系统和引用的Jar包都调用 PropertyConfigurator.configure 指定了Log4j配置。
    在这种情况下,请问高手们如何做能让引用包中Log4j配置不干扰系统中的Log4j配置,让两个地方的代码都按各自的配置来记录日志。

展开
收起
kun坤 2020-06-03 15:07:02 1335 0
1 条回答
写回答
取消 提交回答
  • 在配置自己的log4j之前,调用下 PDFCore。这样你的log4j配置就可以覆盖jar包里面的配置了######

    引用来自“宅男小何”的答案

    在配置自己的log4j之前,调用下 PDFCore。这样你的log4j配置就可以覆盖jar包里面的配置了
    这的确是一个办法,可以解决这个问题,但是不太优雅, ,如果多个Jar包,为了防止被覆盖,那不是要在配置前将其他包全部调用一遍。 ######你这种情况还是比较少见的吧,一般公共服务jar都不会把这种log配置一起发布的吧
    2020-06-04 10:38:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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