blacklong opened a new issue, #3927:
URL: https://github.com/apache/logging-log4j2/issues/3927

   ## Description
   my log4j2.xml
   <Configuration status="info" monitorInterval="120">
       <Properties>
           <Property name="logPath">${web:rootDir}/../data/log</Property>
       </Properties>
       <Appenders>
           <Console name="CONSOLE" target="SYSTEM_OUT">
               <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss}] [%t] %-5p %l 
%m%n"/>
           </Console>
           <RollingRandomAccessFile name="QueryOrderAppender" 
immediateFlush="false"
                                    fileName="${logPath}/QueryOrderAppender.log"
                                    
filePattern="${logPath}/QueryOrderAppender-%d{yyyy-MM-dd}-%i.log">
               <Filters><ThresholdFilter level="INFO" onMatch="ACCEPT" 
onMismatch="DENY"/></Filters>
               <PatternLayout charset="UTF-8"
                              pattern="[%d{yyyy-MM-dd 
HH:mm:ss.SSS}][%X{log4jMDCNum}][%X{shopId}][%X{userId}][%p][%t][%l][%x] 
%n%m%n"/>
               <Policies>
                   <TimeBasedTriggeringPolicy />
                   <SizeBasedTriggeringPolicy size="100 MB"/>
               </Policies>
               <DefaultRolloverStrategy max="10"/>
           </RollingRandomAccessFile>
   
   -------------------------
   AbstractRolloverStrategy.java
   protected SortedMap<Integer, Path> getEligibleFiles(final String 
currentFile, final String path,
               final String logfilePattern, final boolean isAscending) 
   
   param currentFile value: ${web:rootDir}\..\data\log\QueryOrderAppender.log
   param path value: : 
E:\git\xxxx\target\20150609.16238\/../data/log/QueryOrderAppender.log
   -------------------------
   line 136:
           final Path current = currentFile.length() > 0 ? new 
File(currentFile).toPath() : null;
           LOGGER.debug("Current file: {}", currentFile);
   because currentFile including ${web:rootDir}, java.io.File.toPath error,
   is it a bug?
   I think shoule using param path.
   
   
   
   ## Configuration
   
   <dependency>
               <groupId>org.apache.logging.log4j</groupId>
               <artifactId>log4j-api</artifactId>
               <version>2.17.2</version>
           </dependency>
           <dependency>
               <groupId>org.apache.logging.log4j</groupId>
               <artifactId>log4j-core</artifactId>
               <version>2.17.2</version>
           </dependency>
           <dependency>
               <groupId>org.apache.logging.log4j</groupId>
               <artifactId>log4j-web</artifactId>
               <version>2.17.2</version>
           </dependency>
   
   **Operating system:** [OS and version]
   Win10
   
   **JDK:** [JDK distribution and version]
   jdk1.8.0_451
   
   ## Logs
   java.nio.file.InvalidPathException: Illegal char <:> at index 5: 
${web:rootDir}\..\data\log\QueryOrderAppender.log
        at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
        at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
        at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
        at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)
        at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255)
        at java.io.File.toPath(File.java:2273)
        at 
org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy.getEligibleFiles(AbstractRolloverStrategy.java:136)
        at 
org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy.getEligibleFiles(AbstractRolloverStrategy.java:96)
        at 
org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy.getEligibleFiles(AbstractRolloverStrategy.java:87)
        at 
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy.purgeAscending(DefaultRolloverStrategy.java:415)
        at 
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy.purge(DefaultRolloverStrategy.java:402)
        at 
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy.rollover(DefaultRolloverStrategy.java:531)
        at 
org.apache.logging.log4j.core.appender.rolling.RollingFileManager.rollover(RollingFileManager.java:502)
        at 
org.apache.logging.log4j.core.appender.rolling.RollingFileManager.rollover(RollingFileManager.java:392)
        at 
org.apache.logging.log4j.core.appender.rolling.RollingFileManager.checkRollover(RollingFileManager.java:308)
        at 
org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:240)
        at 
org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:161)
        at 
org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:134)
        at 
org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:125)
        at 
org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:89)
        at 
org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:675)
        at 
org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:633)
        at 
org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:616)
        at 
org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:604)
        at 
org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:98)
        at 
org.apache.logging.log4j.core.async.AsyncLogger.actualAsyncLog(AsyncLogger.java:488)
        at 
org.apache.logging.log4j.core.async.RingBufferLogEvent.execute(RingBufferLogEvent.java:156)
        at 
org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:51)
        at 
org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:29)
        at 
com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:168)
        at 
com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:125)
        at java.lang.Thread.run(Thread.java:750)
   
   ## Reproduction
   
   [An isolated test reproducing the test.
   JUnit tests similar to the ones in the code base are extremely appreciated.]
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@logging.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to