2016-11-25 9 views
1

я получаю исключение, как -Не может найти декларацию «конфигурации» элемента при импорте файла log4j2.xml весной

INFO: Initializing Spring FrameworkServlet 'dispatcher' WARN Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 3 in XML document from class path resource [log4j2.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 31; Element type "Configuration" must be declared. 
    ERROR Context initialization failed 
    org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 3 in XML document from class path resource [log4j2.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 31; Element type "Configuration" must be declared. 

Ниже конфигурация Spring аннотации -

@Configuration 
@EnableWebMvc 
@ComponentScan(basePackages = "com.test.*") 
@PropertySource(value = {"classpath:application.properties"}) 
@ImportResource("classpath:log4j2.xml") 
public class AppConfig extends WebMvcConfigurerAdapter { 
     ... 
} 

Ниже файл конфигурации log4j2 xml -

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE Configuration> 
<Configuration status="debug"> 
    <Properties> 
     <Property name="log-path">C:/logs/</Property> 
    </Properties> 
    <Appenders> 
      ... 
    </Appenders> 
    <Loggers> 
     ... 
    </Loggers> 
</Configuration> 

Как избавиться от этой ошибки? Есть ли ошибка при импорте файла в приложение? Хотите включить конфигурацию log4j2 в проект. Будет ли xml-файл автоматически распознаваться весной или нужно написать для него какой-то класс? Файл maven pom не содержит зависимости sax. Это проблема ?

+0

Я думаю, что вам не нужно "@ImportResource (" classpath: log4j2.xml ")" и "". Удалите эти строки и повторите попытку. –

+0

Изменения @TobiasOtto сделаны как указано, но журналы не отображаются. – Worker

ответ

1

Я думаю, что "@ImportResource (" classpath: log4j2.xml ")" является проблемой. Удалите эту строку и повторите попытку.

С помощью @ImportResource вы можете добавить некоторые Spring-XML-конфигурации. Это не для Log4J2-Configuration.

Log4J2-Framework будет искать эти ресурсы (log4j2.xml) в пути к классам. Пожалуйста, смотрите на: http://logging.apache.org/log4j/2.x/manual/configuration.html

Вы должны включить систему регистрации с весной. Пожалуйста, см. http://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html

+0

Затем, как импортировать файл log4j2 xml? Без этого xml-файла журналы не будут сгенерированы. Я хочу настроить только с помощью xml-файла. – Worker

+0

Спасибо, за ваш ответ. – Worker

0

Спасибо, все для вас ответы. Была проблема в файле конфигурации. После часа мозгового штурма я понял это. Просто изменил код файла конфигурации, и он работает нормально.

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

  • Нет связанных вопросов^_^