You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Ralph Goers (Jira)" <ji...@apache.org> on 2020/02/21 03:59:00 UTC
[jira] [Resolved] (LOG4J2-2773) Configuration file loading ignored
on jar-with-dependencies with java 11
[ https://issues.apache.org/jira/browse/LOG4J2-2773?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ralph Goers resolved LOG4J2-2773.
---------------------------------
Resolution: Not A Problem
Marking this as resolved. If you still have problems feel free to reopen it.
> Configuration file loading ignored on jar-with-dependencies with java 11
> ------------------------------------------------------------------------
>
> Key: LOG4J2-2773
> URL: https://issues.apache.org/jira/browse/LOG4J2-2773
> Project: Log4j 2
> Issue Type: Bug
> Components: Configurators
> Affects Versions: 2.12.1, 2.13.0
> Environment: openjdk version 11.0.6; Apache Maven 3.6.3; Ubuntu 19.10
> Reporter: SkyghiS
> Assignee: Ralph Goers
> Priority: Major
> Attachments: image-2020-02-06-21-20-15-004.png, image-2020-02-06-21-21-14-488.png, java 8.png
>
>
> {quote}Sample project to ease reproduction : [https://github.com/skyghis/testLog4j2]
> {quote}
>
> I try to load configuration from an external file on a fat jar.
> I tried to load configuration from multiples methods without success.
> I kept two methods on my sample:
> {code:java}
> if (!Files.isReadable(log4jConfiguration)) {
> throw new IllegalStateException();
> }
> LOGGER.info("startup");
> LOGGER.debug("startup"); // Not logged = OK
> // First try to load configuration
> Configurator.initialize(null, log4jConfiguration.toString());
> LOGGER.debug("with init"); // Should be logged
> // Second try to load configuration
> // From log4j FAQ : https://logging.apache.org/log4j/2.x/faq.html#reconfig_from_code
> final LoggerContext context = (LoggerContext) LogManager.getContext(false);
> context.setConfigLocation(log4jConfiguration.toUri());
> LOGGER.debug("reconfig from code"); // Should be logged
> LOGGER.info("shutdown"); // Should be logged with [OUTER] prefix
> {code}
>
> The code works when running from IDE, but when executed with {{java -jar}} the external configuration is not loaded.
> Result when running from IDE:
> !image-2020-02-06-21-20-15-004.png!
> Result when running from jar:
> !image-2020-02-06-21-21-14-488.png!
>
> I expect to have the configuration file loaded when running my jar file like when running from IDE.
>
> Edit:
> If I compile and execute the same code with java 8, the code works as expected :
> !java 8.png!
> So the issue seem specific to Java11.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)