2016-11-25 1 views
1

ich die Ausnahme als ich immer -kann nicht die Erklärung des Elements ‚Konfiguration‘ finden, während log4j2.xml Datei im Frühjahr Import

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. 

Unten ist die Frühlings-Annotation Konfiguration -

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

Nachfolgend finden Die log4j2 XML-Konfigurationsdatei -

<?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> 

Wie Sie diesen Fehler loswerden? Gibt es einen Fehler beim Importieren der Datei in die Anwendung? Möchten Sie die Konfiguration von log4j2 im Projekt aktivieren. Wird die XML-Datei automatisch vom Frühling verstanden oder muss eine Klasse dafür geschrieben werden? Die Maven-Pom-Datei enthält keine Saxophon-Abhängigkeit. Ist das ein Problem ?

+0

Ich denke, dass Sie "@ImportResource (" classpath: log4j2.xml ")" und "" nicht benötigen. Bitte entfernen Sie diese Zeilen und versuchen Sie es erneut. –

+0

@TobiasOtto Änderungen wie erwähnt gemacht, aber Protokolle werden nicht angezeigt. – Worker

Antwort

1

Ich denke, dass "@ImportResource (" classpath: log4j2.xml ")" das Problem ist. Bitte entfernen Sie diese Zeile und versuchen Sie es erneut.

Mit @ImportResource können Sie einige Spring-XML-Konfigurationen hinzufügen. Dies ist nicht für Log4J2-Konfiguration.

Das Log4J2-Framework sucht im Klassenpfad nach diesen Ressourcen (log4j2.xml). Bitte schauen Sie sich an: http://logging.apache.org/log4j/2.x/manual/configuration.html

Sie müssen das Logging-Framework mit Spring aktivieren. Bitte sehen Sie http://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html

+0

Dann, wie log4j2 XML-Datei zu importieren? Ohne diese XML-Datei werden keine Protokolle erzeugt. Ich möchte nur mit XML-Datei konfigurieren. – Worker

+0

Danke, für Ihre Antwort. – Worker

0

Danke, jeder für Sie Antworten. War ein Problem in der Konfigurationsdatei. Nach einer Stunde Brainstorming habe ich es herausgefunden. Habe gerade den Konfigurationsdateicode geändert und es funktioniert gut.

Verwandte Themen