Кажется, что log4j пытается проанализировать файл конфигурации .json с помощью парсера XML, но почему?
Я установил конфигурационный файл log4j по аргументу командной строки:
-Dlog4j.configurationFile=src/log4j2.json
содержимое файла:
{ "configuration": { "appenders": { "Console": { "name": "Console", "target": "SYSTEM_OUT", "PatternLayout": { "pattern": "%date %thread %logger %message" } } }, "loggers": { "root": { "level": "debug", "appender-ref": { "ref": "Console" } } } } }
Что я получаю:
[Fatal Error] log4j2.json:1:1: Content is not allowed in prolog. ERROR StatusLogger Error parsing D:\Dev\HDelphiCrawler\src\log4j2.json org.xml.sax.SAXParseException; systemId: file:///D:/Dev/HDelphiCrawler/src/log4j2.json; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog. at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257) at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:348) at org.apache.logging.log4j.core.config.xml.XmlConfiguration.<init>(XmlConfiguration.java:140) at org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory.getConfiguration(XmlConfigurationFactory.java:44) at org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:410) ....and so on... ERROR StatusLogger No logging configuration
Ящики в папке моего lib:
Вы можете использовать системное свойство log4j.configurationFactory
:
-Dlog4j.configurationFactory=org.apache.logging.log4j.core.config.json.JsonConfigurationFactory