2017-02-16 15 views
0

をサポートしていないし、私は次のエラーを取得するに気づい:Log4j2 - 削除条件がありません:私は私のアプリでlog4j2を使用してい無条件削除が

Missing Delete conditions: unconditional Delete not supported 
2017-02-16 12:21:25,286 http-nio-8080-exec-7 ERROR Error processing element And ([Delete: null]): CLASS_NOT_FOUND 
2017-02-16 12:21:25,347 http-nio-8080-exec-7 ERROR Missing Delete conditions: unconditional Delete not supported 
2017-02-16 12:21:25,347 http-nio-8080-exec-7 ERROR Unable to invoke factory method in class class org.apache.logging.log4j.core.appender.rolling.action.DeleteAction for element Delete. java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 

が、これは私の設定です:

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="warn"> 
    <Properties> 
     <Property name="basePath">C:\\logs</Property> 
    </Properties> 

    <Appenders> 
     <RollingFile name="fileLogger" fileName="${basePath}/kiosk.log" filePattern="${basePath}/kiosk -%d{yyyy-MM-dd}.log"> 
      <PatternLayout> 
       <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n</pattern> 
      </PatternLayout> 
      <Policies> 
       <TimeBasedTriggeringPolicy interval="1" modulate="true" /> 
      </Policies> 
      <DefaultRolloverStrategy stopCustomActionsOnError="true"> 
       <!-- custom action executed asynchronously after the rollover --> 
       <Delete basePath="${basePath}" maxDepth="2" followLinks="false"> 
        <And> 
         <IfFileName path="*/kiosk-*.log." /> <!-- delete only files matching this pattern --> 
         <IfLastModified duration="7d" /> <!-- delete if 7 days or older --> 
        </And> 
       </Delete> 
      </DefaultRolloverStrategy> 
     </RollingFile> 

     <Console name="console" target="SYSTEM_OUT"> 
      <PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n" /> 
     </Console> 
    </Appenders> 
    <Loggers> 
     <Logger name="uk.co.kiosk.logging" level="debug" additivity="true"> 
      <appender-ref ref="fileLogger" level="debug" /> 
     </Logger> 
     <Root level="debug" additivity="false"> 
      <appender-ref ref="console" /> 
     </Root> 
    </Loggers> 
</Configuration> 

私も持っています7日後にファイルが削除されていないことがわかりました。 これは私のMavenのエントリです:

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

は私が間違っているの何かがあり、いずれかを助言することができますか?彼らはファイルをうまく作成していますが、削除していないし、明らかにコンソールでこのエラーを取得しています。 アップロードできるものが他にもあれば、それはうれしいことです。

答えて

0

変更

<IfFileName path="*/kiosk-*.log." /> 

<IfFileName glob="*/kiosk-*.log." /> 

IfFileName要素が path、のみ globregexをサポートしていません。 user manualを参照してください。

関連する問題