[ 
https://issues.apache.org/jira/browse/LOG4J2-742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gary Gregory reassigned LOG4J2-742:
-----------------------------------

    Assignee: Gary Gregory

> XInclude not working with relative path
> ---------------------------------------
>
>                 Key: LOG4J2-742
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-742
>             Project: Log4j 2
>          Issue Type: Bug
>    Affects Versions: 2.0
>            Reporter: Pascal Chollet
>            Assignee: Gary Gregory
>         Attachments: xinclude-test.patch, xinclude.patch
>
>
> When using XInclude in a log4j2 configuration, it uses the CWD of the running 
> application instead of the location of the log4j configuration as base.
> I.e. running the application from within eclipse, the CWD of eclipse is used 
> as base for finding the document to be included.
> IMO, the problem is in XmlConfiguration:
> {code}
>             final InputStream configStream = configSource.getInputStream();
>             try {
>                 buffer = toByteArray(configStream);
>             } finally {
>                 configStream.close();
>             }
>             final InputSource source = new InputSource(new 
> ByteArrayInputStream(buffer));
>             final Document document = newDocumentBuilder().parse(source);
> {code}
> There is no way the DOMParser can know, where the base should be, because it 
> is just parsing an InputStream and has no file location. 
> The fix would be to add source.setSystemId(configSource.getLocation()) before 
> parsing the document.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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

Reply via email to