2016-06-25 8 views
1

Ich bin unten Fehler beim upgrade von Log4j 1.x zu Log4j2. Laut Dokumentation auf der log4j2-Website habe ich unten log4j2-Datei vorbereitet, aber immer noch bekomme ich diese Ausnahme.Log4j2 Argumente für Element Logger sind ungültig

Log4j2 Version: 2.6.1, Weblogic: 10.3.6, jdk 1.7.x

Bitte helfen Sie mit dieser Ausnahme:

2016-06-25 05:49:36,002 [ACTIVE] ExecuteThread: '70' for queue: 'weblogic.kernel.Default (self-tuning)' ERROR Unable to invoke factory method in class class org.apache.logging.log4j.core.config.LoggerConfig for element Logger. org.apache.logging.log4j.core.config.ConfigurationException: Arguments given for element Logger are invalid 
     at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.generateParameters(PluginBuilder.java:270) 
     at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:131) 
     at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:918) 
     at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:858) 
     at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:850) 

Log4j2.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="DEBUG" > 
     <Properties> 
     <Property name="theHostName">${hostName}</Property> 
     </Properties> 
     <!-- bufferedIO=true by default, bufferSize=8192bytes 
     --> 
     <Appenders> 
      <RollingFile name="FILE" filename="${sys:weblogic.Name}.log" filepattern="${sys:weblogic.Name}.log.%i" append="true" > 
       <PatternLayout pattern="[%-5p][%d{yyyy-MM-dd HH:mm:ss,SSS}][${sys:weblogic.Name}:${hostName}][%t][%X{MessageInfo}][%c{1}:%M:%L][%msg]%n" /> 
       <Policies> 
        <SizeBasedTriggeringPolicy size="50 MB" /> 
       </Policies> 
       <DefaultRolloverStrategy max="100" fileIndex="min"/> 
      </RollingFile> 
     </Appenders> 
     <Loggers> 
      <Logger level="DEBUG" includeLocation="true"> 
       <AppenderRef ref="FILE"/> 
      </Logger> 
      <Root level="INFO" includeLocation="true"> 
       <AppenderRef ref="FILE"/> 
      </Root> 
      <!-- Package specific log level defines --> 
      <logger level="WARN" name="org.springframework" /> 
      <logger level="WARN" name="org.jboss" /> 
      <logger level="OFF" name="org.hibernate" /> 
      <logger level="WARN" name="com.company.project.eligibility" /> 
     </Loggers> 
</Configuration> 

Antwort

1

I Ratenpaket-spezifische Ebenen sollten auskommentiert oder wie folgt deklariert werden:

<Logger level="WARN" name="org.springframework" /> 
<Logger level="WARN" name="org.jboss" /> 
<Logger level="OFF" name="org.hibernate" /> 
<Logger level="WARN" name="com.company.project.eligibility" /> 
+2

Log4j Konfiguration nicht abhängig ist, so gibt es keinen Unterschied zwischen dieser Antwort und der Konfiguration in der Frage ist ... Ich sehe nicht, wie das die richtige Antwort sein kann. –

0

Nur der Root-Logger kann keinen Namen hat, so dass dieser Logger muss einen Namen hat:

<Logger level="DEBUG" includeLocation="true"> 
    <AppenderRef ref="FILE"/> 
</Logger> 
+0

Wenn ich name = "com.company" hinzufüge, druckt es doppelte Logs in Datei für jede Zeile. – pdshelke

+0

Fügen Sie dann 'additivity =" false "' zu dieser Logger-Konfiguration hinzu. –

+0

Danke, ich werde diese Option versuchen. – pdshelke

Verwandte Themen