2017-07-17 86 views
-2

這是this問題的重複,但提出的解決方案對我無效,我還無法發表評論。Log4j2即使配置正確也不能使用json配置文件

這個問題在標題本身解釋說:Log4j2不與.json配置文件的工作,即使有log4j.configurationFactory=org.apache.logging.log4j.core.config.json.JsonConfigurationFactorylog4j2.component.properties文件中配置正確。

完整的錯誤堆棧跟蹤:

[Fatal Error] log4j2.json:1:1: Content is not allowed in prolog. 
ERROR StatusLogger Error parsing /Users/sm/cdss-scala/risk-stratification/src/main/resources/log4j2.json 
org.xml.sax.SAXParseException; systemId: file:///Users/sm/cdss-scala/risk-stratification/src/main/resources/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:339) 
    at org.apache.logging.log4j.core.config.xml.XmlConfiguration.<init>(XmlConfiguration.java:95) 
    at org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory.getConfiguration(XmlConfigurationFactory.java:46) 
    at org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:491) 
    at org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:420) 
    at org.apache.logging.log4j.core.config.ConfigurationFactory.getConfiguration(ConfigurationFactory.java:265) 
    at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:613) 
    at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:634) 
    at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:229) 
    at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:152) 
    at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45) 
    at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194) 
    at org.apache.logging.log4j.scala.Logger$.apply(Logger.scala:39) 
    at org.apache.logging.log4j.scala.Logging$class.$init$(Logging.scala:28) 
    at eu.connecare.cdss.hadrian.HadrianService$.<init>(HadrianService.scala:11) 
    at eu.connecare.cdss.hadrian.HadrianService$.<clinit>(HadrianService.scala) 
    at eu.connecare.cdss.hadrian.HadrianService.runEngine(HadrianService.scala) 
    at eu.connecare.cdss.hadrian.HadrianLaunchable.main(HadrianLaunchable.java:6) 
ERROR StatusLogger No logging configuration 
+1

的[Log4j2不使用JSON配置文件工作]可能的複製(https://stackoverflow.com/questions/32269559/log4j2-not-使用JSON配置文件) –

+1

你應該顯示你的JSON配置,否則沒有人能夠幫助你 –

回答

0

這是沒有用的,以顯示您的JSON配置,因爲我的經驗,一些錯誤的BOM您的JSON文件。嘗試在您的json文件中添加/刪除BOM。

啥子的BOM以及如何刪除的BOM,在這裏看到: Byte order mark