logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scott Harrington (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LOG4J2-704) -Dlog4j.configurationFile no longer accepts relative paths
Date Tue, 29 Jul 2014 03:38:39 GMT

    [ https://issues.apache.org/jira/browse/LOG4J2-704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14077351#comment-14077351

Scott Harrington commented on LOG4J2-704:

I stumbled across this.

Of course you can specify relative paths -- this has always worked and still works.

The problem is if the file does not exist, then the {{ConfigurationFactory.getInputFromUri}}
method falls back to a classpath search, and if that fails then it falls back to {{URI.toURL().openStream()}}
which is what emits the unhelpful error.

Looks kinda tricky to untangle. For now I would simply warn users to interpret the "Unable
to access foo.xml // IllegalArgumentException: URI is not absolute" as simply a File Not Found

> -Dlog4j.configurationFile no longer accepts relative paths
> ----------------------------------------------------------
>                 Key: LOG4J2-704
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-704
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Configurators
>    Affects Versions: 2.0-rc2
>         Environment: Ubuntu. Oracle Java 1.7.
>            Reporter: Andy Grove
>            Assignee: Remko Popma
>            Priority: Minor
> I just upgraded from beta9 to rc2 and my command line applications now fail on startup.
> I am passing -Dlog4j.configurationFile=conf/log4j2.xml
> The documentation does not state that relative paths are no longer supported but the
error indicates that only absolute paths can now be used.
>      [java] ERROR StatusLogger Unable to access conf/log4j2.xml java.lang.IllegalArgumentException:
URI is not absolute
>      [java] 	at java.net.URI.toURL(URI.java:1095)
>      [java] 	at org.apache.logging.log4j.core.config.ConfigurationFactory.getInputFromUri(ConfigurationFactory.java:265)
>      [java] 	at org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:382)
>      [java] 	at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:415)
>      [java] 	at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:146)
>      [java] 	at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:75)
>      [java] 	at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:37)
>      [java] 	at org.apache.logging.log4j.LogManager.getContext(LogManager.java:268)
>      [java] 	at org.apache.logging.slf4j.Log4jLoggerFactory$PrivateManager.getContext(Log4jLoggerFactory.java:98)
>      [java] 	at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:84)
>      [java] 	at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:44)
>      [java] 	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:270)
>      [java] 	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:281)

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org

View raw message