代码之家  ›  专栏  ›  技术社区  ›  tom

属性文件存在,但仍在获取“警告找不到附加程序”

  •  0
  • tom  · 技术社区  · 7 年前

    我正在使用 pcap4j 我的应用程序中的库,当我运行它时,我得到:

    log4j:WARN No appenders could be found for logger (org.pcap4j.core.NativeMappings).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
    

    我的应用程序中也使用了log4j:

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.11.1</version>
    </dependency>
    

    在中配置 main/resources/log4j2-test.properties :

    log4j.rootLogger=INFO, fileLogger
    log4j.appender.fileLogger.layout=org.apache.log4j.PatternLayout
    log4j.appender.fileLogger.layout.ConversionPattern=%d [%t] %-5p (%F:%L) - %m%n
    log4j.appender.fileLogger.File=application.log
    log4j.appender.fileLogger=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.fileLogger.datePattern='.'yyyy-MM-dd-HH-mm
    

    所以配置文件就在那里,不管我在其中做了什么更改,它都有一个效果,这意味着log4j看到了它并且它工作了,所以当我到处看到这种警告是由一个丢失或错误的配置文件引起的时,我非常无助。

    是不是错误是依赖性的,而我对此无能为力?如果是这样,是否有办法完全禁用此依赖项中的日志记录?事实上,这是我首先想要的。

    2 回复  |  直到 7 年前
        1
  •  0
  •   devwebcl    7 年前

    该消息来自log4j 1,而您使用的是log4j2,因此它是无害的。

    https://github.com/apache/log4j/blob/trunk/src/main/java/org/apache/log4j/Hierarchy.java

      public
      void emitNoAppenderWarning(Category cat) {
        // No appenders in hierarchy, warn user only once.
        if(!this.emittedNoAppenderWarning) {
          LogLog.warn("No appenders could be found for logger (" +
               cat.getName() + ").");
          LogLog.warn("Please initialize the log4j system properly.");
          LogLog.warn("See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.");
          this.emittedNoAppenderWarning = true;
        }
      }
    
        2
  •  0
  •   TheWildHealer    7 年前

    主题外,抱歉:)

    您可以使用以下方法手动设置日志配置文件:

    org.apache.log4j.xml.DOMConfigurator.configure("<path>\log4j2-test.properties");
    

    这个 <path> 可以是绝对的,也可以是相对于maven模块根的。