2016-06-25 18 views
1

log4j 1.xからlog4j2へのアップグレード時に以下のエラーが発生しました。 log4j2サイトのドキュメントに従って、私はlog4j2ファイルの下に準備しましたが、まだこの例外が発生しています。Log4j2 Logger要素に与えられた引数が無効です

Log4j2バージョン:2.6.1、WebLogicの:10.3.6、JDK 1.7.xの

この例外に助けてください:

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> 

答えて

1

Iパッケージの特定のレベルをコメントアウトするか、次のように宣言する必要があります。

<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の構成この答え、問題の構成との間に差がないので、大文字と小文字を区別しません...私はこれがどのように正しい答えになるかは分かりません。 –

0

のみルートロガーは名前を持つことはできませんので、このロガーは名前を持っている必要があります:

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

名前= "com.company"を追加すると、すべての行のファイルに重複したログが出力されます。 – pdshelke

+0

次に、そのロガー設定に 'additivity =" false "'を追加します。 –

+0

このオプションを試してみます。 – pdshelke

関連する問題