2013-09-20 1 views
0

Я использую log4j2 в веб-приложении и имею конфигурационный файл в своем доме пользователя. Я уточнял место в web.xml, как описано в documentation:log4j2 - URISyntaxException при указании пути к файлу конфигурации

<context-param> 
    <param-name>log4jConfiguration</param-name> 
    <param-value>file://${user.home}/someDirectory/log4j2.xml</param-value> 
</context-param> 

К сожалению, в системе Windows, я получаю

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) 
    ... 

из-за обратной косой черты. Документация здесь не помогает, потому что в этом примере также есть обратные косые черты, что просто неправильно.

Есть ли решение?

Я не могу жестко указать путь, используя слэши, потому что приложение будет работать и на других системах.

Я не хочу помещать log4j2.xml в приложение, потому что на самом деле у меня есть несколько приложений, работающих в Tomcat, и я хочу использовать только один файл конфигурации для их конфигурации. И, конечно, в разных системах я хочу использовать разные конфигурации протоколирования.

ответ

0

Возможно, вы обнаружили ошибку. Можете ли вы поднять билет для этого (включая все данные) в журнале отслеживания ошибок log4j2?

https://issues.apache.org/jira/browse/LOG4J2

Смежные вопросы