Eclipse extras RollingFileAppender未创建文件

Eclipse extras RollingFileAppender未创建文件,eclipse,tomcat,logging,log4j,Eclipse,Tomcat,Logging,Log4j,我已经回顾了其他相关问题,但没有找到答案。似乎位于的Javadoc不正确和/或不完整。至少元素看起来有一个虚假的双引号。 我在调试模式下启动,看起来一切正常。但是,我找不到日志文件。我们有其他的自定义附加器,工作正常,但我正试图用OTB解决方案取代它们。 这是我的配置: <appender name="file" class="org.apache.log4j.rolling.RollingFileAppender"> <param name="threshold"

我已经回顾了其他相关问题,但没有找到答案。似乎位于的Javadoc不正确和/或不完整。至少元素看起来有一个虚假的双引号。 我在调试模式下启动,看起来一切正常。但是,我找不到日志文件。我们有其他的自定义附加器,工作正常,但我正试图用OTB解决方案取代它们。 这是我的配置:

  <appender name="file" class="org.apache.log4j.rolling.RollingFileAppender">
    <param name="threshold" value="debug" />
    <rollingPolicy name="file" class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
      <param name="FileNamePattern" value="logs/My_Server.%d{yyyy-MM-dd-hh}.log"/>
    </rollingPolicy>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{ISO8601} %r [%t] %-5p %c{1} %x - %m%n"/>
    </layout>
  </appender>

  <appender name="ASYNCfile" class="org.apache.log4j.AsyncAppender">
    <param name="BufferSize" value="500"/>
    <param name="blocking" value="false"/>
    <appender-ref ref="file"/>
  </appender>

 <root>
    <priority value="INFO"/>
    <appender-ref ref="ASYNCfile"/>
    <appender-ref ref="console"/>
  </root>

在控制台输出中,我没有看到与此相关的任何错误-只是没有找到任何文件。

实际上,我只是搜索了我的硬盘,并在意外的位置找到了日志文件。它们位于Eclipse安装目录中。我正在运行tomcat,其他appender正在将日志写入Eclipse在添加服务器时创建的tomcat运行时文件夹。现在,我需要找出他们为什么在我没有指定我所知道的任何内容的情况下,将内容写入两个不同的位置。(其他人在我之前已经配置了log4j…)其他相关文章指出FileNamePattern值应该是绝对路径。至少到那时,文件将放在哪里不会有任何混淆。Javadocs没有描述当这个值是相对值时的处理。最好的建议可能是使用${catalina.base}/logs/yourFileNamepattern。希望这篇文章能对其他人有所帮助。还可以使用log4j configuration debug=true标志帮助进行故障排除。
log4j: Attaching appender named [file] to appender named [ASYNCfile].
log4j: Class name: [org.apache.log4j.rolling.RollingFileAppender]
log4j: Setting property [threshold] to [DEBUG].
log4j: Setting property [fileNamePattern] to [logs/My_Server.%d{yyyy-MM-dd-hh}.log].
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{ISO8601} %r [%t] %-5p %c{1} %x - %m%n].
log4j: setFile called: logs/My_Server.2017-07-17-05.log, true
log4j: setFile ended