posuhov opened a new issue, #1645:
URL: https://github.com/apache/logging-log4j2/issues/1645
## Description
My application is running on SpringBoot 2.7.13. I have an appender defined
like
```
Configuration:
status: warn
appenders:
RollingFile:
- name: LogToRollingFileWithPattern
filePattern: application-%i.log
PatternLayout:
Pattern: "%level %d{DEFAULT_MICROS} [%t] %c{1}
%X{AWS-XRAY-TRACE-ID} - %msg%n"
Policies:
SizeBasedTriggeringPolicy:
size: 1MB
DirectWriteRolloverStrategy:
maxFiles: 5
Loggers:
Root:
level: info
AppenderRef:
- ref: LogToRollingFileWithPattern
```
Once I start the application the exception is printed in console and file
are not created.
Everything works with DefaultRolloverStrategy and files are created as
expected
## Configuration
**Version:** 2.17.2
**Operating system:** Windows 10
**JDK:** JDK 17
## Logs
```
2023-07-31 18:35:38,086 main ERROR An exception occurred processing Appender
LogToRollingFileWithPattern java.lang.NullPointerException: Cannot invoke
"java.io.File.mkdirs()" because the return value of
"java.io.File.getParentFile()" is null
at
org.apache.logging.log4j.core.appender.rolling.RollingFileManager.createParentDir(RollingFileManager.java:253)
at
org.apache.logging.log4j.core.appender.FileManager.createOutputStream(FileManager.java:191)
at
org.apache.logging.log4j.core.appender.OutputStreamManager.getOutputStream(OutputStreamManager.java:165)
at
org.apache.logging.log4j.core.appender.OutputStreamManager.writeToDestination(OutputStreamManager.java:250)
at
org.apache.logging.log4j.core.appender.FileManager.writeToDestination(FileManager.java:277)
at
org.apache.logging.log4j.core.appender.rolling.RollingFileManager.writeToDestination(RollingFileManager.java:275)
at
org.apache.logging.log4j.core.appender.OutputStreamManager.flushBuffer(OutputStreamManager.java:283)
at
org.apache.logging.log4j.core.appender.OutputStreamManager.flush(OutputStreamManager.java:294)
at
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:217)
at
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:208)
at
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:199)
at
org.apache.logging.log4j.core.appender.RollingFileAppender.append(RollingFileAppender.java:312)
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.logParent(LoggerConfig.java:666)
at
org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:635)
at
org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:616)
at
org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:552)
at
org.apache.logging.log4j.core.config.DefaultReliabilityStrategy.log(DefaultReliabilityStrategy.java:63)
at org.apache.logging.log4j.core.Logger.log(Logger.java:161)
at
org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2205)
at
org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2159)
at
org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2142)
at
org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2022)
at
org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1875)
at
org.apache.commons.logging.LogAdapter$Log4jLog.log(LogAdapter.java:266)
at
org.apache.commons.logging.LogAdapter$Log4jLog.info(LogAdapter.java:230)
at
org.springframework.boot.SpringApplication.logStartupProfileInfo(SpringApplication.java:637)
at
org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:378)
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:306)
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at com.example.Application.main(Application.java:21)
```
## Reproduction
Errors appears right after application start. It happens during creation a
directory for logs

However if we replace `file.getParentFile()` with
`file.getAbsoluteFile().getParentFile()` it returns a correct non null File
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]