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

   ## Description
   
   We have an rolling file appender with `ignoreExceptions="false"` and 
`immediateFlush="true"` so that in case of any problem with this appender we 
would expect exceptions.
   
   That works fine for the running application but if the appenders files are 
not writable during application boot, there are error messages but they are 
just logged and not thrown. Hence the applications starts "successfully" but 
with a malfunctioning logging (missing loggers)
   
   I would expect that errors during boot time are thrown if `ignoreExceptions` 
is failse
   
   ## Configuration
   
   **Version:** 2.19.0
   
   **Operating system:** Mac OS/X 13.3.1
   
   **JDK:** OpenJDK Runtime Environment Corretto-17.0.3.6.1 (build 17.0.3+6-LTS)
   
   
   ## Logs
   
   ```
   2023-04-24 17:34:44,830 main ERROR Unable to create file 
/tmp/unreadable/error.log java.io.IOException: Permission denied
        at java.base/java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.base/java.io.File.createNewFile(File.java:1043)
        at 
org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:735)
        at 
org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:718)
        at 
org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:144)
        at 
org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:100)
        at 
org.apache.logging.log4j.core.appender.rolling.RollingFileManager.getFileManager(RollingFileManager.java:217)
        at 
org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:135)
        at 
org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:62)
        at 
org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:124)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1138)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1063)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1055)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:664)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:258)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:304)
        at 
org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:621)
        at 
org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)
        at 
org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)
        at 
org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)
        at 
org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)
        at 
org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
        at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)
        at 
org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)
        at 
org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:61)
        at 
org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)
        at 
org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:391)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:416)
        at 
com.github.david0.log4jexceptionsboot.Log4jExceptionsBootApplication.<clinit>(Log4jExceptionsBootApplication.java:11)
   
   2023-04-24 17:34:44,836 main ERROR Could not create plugin of type class 
org.apache.logging.log4j.core.appender.RollingFileAppender for element 
RollingFile: java.lang.IllegalStateException: ManagerFactory 
[org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory@53fe15ff]
 unable to create manager for [/tmp/unreadable/error.log] with data 
[org.apache.logging.log4j.core.appender.rolling.RollingFileManager$FactoryData@449a4f23[pattern=/tmp/unreadable/error.%d{yyyy-MM-dd}.%i.log.gz,
 append=true, bufferedIO=true, bufferSize=8192, 
policy=CompositeTriggeringPolicy(policies=[OnStartupTriggeringPolicy, 
SizeBasedTriggeringPolicy(size=1073741824), 
TimeBasedTriggeringPolicy(nextRolloverMillis=0, interval=1, modulate=false)]), 
strategy=DefaultRolloverStrategy(min=1, max=30, useMax=true), 
advertiseURI=null, layout=%d %p %C{1.} [%t] %m%n, filePermissions=null, 
fileOwner=null]] java.lang.IllegalStateException: ManagerFactory 
[org.apache.logging.log4j.core.append
 er.rolling.RollingFileManager$RollingFileManagerFactory@53fe15ff] unable to 
create manager for [/tmp/unreadable/error.log] with data 
[org.apache.logging.log4j.core.appender.rolling.RollingFileManager$FactoryData@449a4f23[pattern=/tmp/unreadable/error.%d{yyyy-MM-dd}.%i.log.gz,
 append=true, bufferedIO=true, bufferSize=8192, 
policy=CompositeTriggeringPolicy(policies=[OnStartupTriggeringPolicy, 
SizeBasedTriggeringPolicy(size=1073741824), 
TimeBasedTriggeringPolicy(nextRolloverMillis=0, interval=1, modulate=false)]), 
strategy=DefaultRolloverStrategy(min=1, max=30, useMax=true), 
advertiseURI=null, layout=%d %p %C{1.} [%t] %m%n, filePermissions=null, 
fileOwner=null]]
        at 
org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:146)
        at 
org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:100)
        at 
org.apache.logging.log4j.core.appender.rolling.RollingFileManager.getFileManager(RollingFileManager.java:217)
        at 
org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:135)
        at 
org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:62)
        at 
org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:124)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1138)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1063)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1055)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:664)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:258)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:304)
        at 
org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:621)
        at 
org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)
        at 
org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)
        at 
org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)
        at 
org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)
        at 
org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
        at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)
        at 
org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)
        at 
org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:61)
        at 
org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)
        at 
org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:391)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:416)
        at 
com.github.david0.log4jexceptionsboot.Log4jExceptionsBootApplication.<clinit>(Log4jExceptionsBootApplication.java:11)
   
   2023-04-24 17:34:44,837 main ERROR Unable to invoke factory method in class 
org.apache.logging.log4j.core.appender.RollingFileAppender for element 
RollingFile: java.lang.IllegalStateException: No factory method found for class 
org.apache.logging.log4j.core.appender.RollingFileAppender 
java.lang.IllegalStateException: No factory method found for class 
org.apache.logging.log4j.core.appender.RollingFileAppender
        at 
org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:260)
        at 
org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:136)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1138)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1063)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1055)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:664)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:258)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:304)
        at 
org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:621)
        at 
org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)
        at 
org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)
        at 
org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)
        at 
org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)
        at 
org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
        at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)
        at 
org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)
        at 
org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:61)
        at 
org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)
        at 
org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:391)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:416)
        at 
com.github.david0.log4jexceptionsboot.Log4jExceptionsBootApplication.<clinit>(Log4jExceptionsBootApplication.java:11)
   
   2023-04-24 17:34:44,838 main ERROR Null object returned for RollingFile in 
Appenders.
   2023-04-24 17:34:44,844 main ERROR Unable to locate appender "errorLogFile" 
for logger config "root"
   17:34:44.861[main] ERROR  c.g.d.l.Log4jExceptionsBootApplication: running
   
   ```
   
   ## Reproduction
   
   
[example.tar.gz](https://github.com/apache/logging-log4j2/files/11312131/log4j-exceptions-boot.tar.gz)
   
   


-- 
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]

Reply via email to