You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "Nick Williams (JIRA)" <ji...@apache.org> on 2013/09/23 16:52:03 UTC

[jira] [Comment Edited] (LOG4J2-409) Specifying log4jConfiguration in web.xml fails on Windows when using ${user.home}

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

Nick Williams edited comment on LOG4J2-409 at 9/23/13 2:50 PM:
---------------------------------------------------------------

Thanks for reporting this, Frank. Looks like there are two distinct but related problems here. First, the documentation should not show backslashes, because those are indeed illegal in URIs. That's an easy fix. Second, the variable substitution is resulting in an invalid URI (because of the backslashes). This is a trickier problem, because variable substitution has no idea what the semantics of a variable value are. It could be a file path, a person's name, a database connection, or someone's favorite color. We're either going to have to put some context around variable substitution so that it can intelligently replace backslashes with forward slashes, or we're going to have to deal with the problem further down the line before converting values to URIs. I'm going to have to think on this one for a bit.
                
      was (Author: beamerblvd):
    Thanks for reporting this, Frank. Looks like there are two distinct but related problems here. First, the documentation should not show backslashes, because those are indeed illegal in URIs. That's an easy fix. Second, the variable substitution is resulting in an invalid URI (because of the backslashes). This is a trickier problem, because variable solution has no idea what the semantics of a variable value are. It could be a file path, a person's name, a database connection, or someone's favorite color. We're either going to have to put some context around variable substitution so that it can intelligently replace backslashes with forward slashes, or we're going to have to deal with the problem further down the line before converting values to URIs. I'm going to have to think on this one for a bit.
                  
> Specifying log4jConfiguration in web.xml fails on Windows when using ${user.home}
> ---------------------------------------------------------------------------------
>
>                 Key: LOG4J2-409
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-409
>             Project: Log4j 2
>          Issue Type: Bug
>    Affects Versions: 2.0-beta8
>         Environment: Windows 7, Apache Tomcat 7, Java 7
>            Reporter: Frank Steinmann
>
> When specifying the context parameter log4jConfiguration in the web.xml of a web application and using $\{user.home\} as part of the path, e.g.
> {code:xml}
> <context-param>
>     <param-name>log4jConfiguration</param-name>
>     <param-value>file://${user.home}/someDirectory/log4j2.xml</param-value>
> </context-param>
> {code}
> the following exception is thrown on Windows systems:
> {noformat}
> java.net.URISyntaxException: Illegal character in authority at index 7: file://C:\Users\steinman/someDirectory/log4j2.xml
>     at java.net.URI$Parser.fail(Unknown Source)
>     at java.net.URI$Parser.parseAuthority(Unknown Source)
>     at java.net.URI$Parser.parseHierarchical(Unknown Source)
>     at java.net.URI$Parser.parse(Unknown Source)
>     at java.net.URI.<init>(Unknown Source)
>     at org.apache.logging.log4j.core.config.Configurator.initialize(Configurator.java:46)
>     ...
> {noformat}
> It is because of the backslashes that are not allowed in URIs.
> There is an example in the documentation using backslashes ([http://logging.apache.org/log4j/2.x/manual/webapp.html]) which will produce the same exception.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

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