2011-01-19 2 views
2

Log4Net이 DB2 연결을 위해 appender를로드 할 수 없으며 이유를 볼 수 없습니다. 로그를 파일 시스템에 잘 기록하지만 DB2 로깅은 발생하지 않습니다. Log4Net의 버전은 v1.2.10.0입니다.Log4Net Appender가로드되지 않음

<log4net> 
    <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender"> 
    <bufferSize value="100" /> 
    <connectionType value="IBM.Data.DB2.DB2Connection,IBM.Data.DB2, Version=8.1.2.1" /> 
    <connectionString value="server=db2Server;database=dbName;user Id=userId1;password=password;persist security info=true" /> 
    <commandText value="INSERT INTO GOSDDL.EXCEPTION_LOG (APP_LOG_TS,THREAD,LEVEL,LOGGER,MESSAGE,EXCEPTION) VALUES (@log_date,@thread,@log_level,@logger,@message,@exception)" /> 
    <parameter> 
     <parameterName value="@log_date" /> 
     <dbType value="DateTime" /> 
     <layout type="log4net.Layout.RawTimeStampLayout"> 
     <conversionPattern value="%utcdate" /> 
     </layout> 
    </parameter> 
    <parameter> 
     <parameterName value="@thread" /> 
     <dbType value="String" /> 
     <size value="255" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%thread" /> 
     </layout> 
    </parameter> 
    <parameter> 
     <parameterName value="@log_level" /> 
     <dbType value="String" /> 
     <size value="50" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%level" /> 
     </layout> 
    </parameter> 
    <parameter> 
     <parameterName value="@logger" /> 
     <dbType value="String" /> 
     <size value="255" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%logger" /> 
     </layout> 
    </parameter> 
    <parameter> 
     <parameterName value="@message" /> 
     <dbType value="String" /> 
     <size value="4000" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%message" /> 
     </layout> 
    </parameter> 
    <parameter> 
     <parameterName value="@exception" /> 
     <dbType value="String" /> 
     <size value="2000" /> 
     <layout type="log4net.Layout.ExceptionLayout" /> 
    </parameter> 
    </appender> 

    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender"> 
    <file value="../logs" /> 
    <appendToFile value="true"/> 
    <maximumFileSize value="512KB"/> 
    <maxSizeRollBackups value="2"/> 
    <rollingStyle value="Date"/> 
    <datePattern value=".yyyy-MM-dd.lo" /> 
    <staticLogFileName value="false" /> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%d %l %-2p - %m%n"/> 
    </layout> 
    <filter type="log4net.Filter.LevelRangeFilter"> 
     <levelMin value="INFO"/> 
     <levelMax value="FATAL"/> 
    </filter> 
    </appender> 

    <root> 
    <level value="INFO"/> 
    <appender-ref ref="RollingFile"/> 
    </root> 
</log4net> 
+0

log4net에서 내부 디버깅을 활성화하고 의심스러운 항목이 있는지 확인하십시오. http://logging.apache.org/log4net/release/faq.html "log4net 내부 디버깅을 활성화하려면 어떻게합니까?"섹션을 참조하십시오. –

+0

감사합니다. Andreas. 나는 appendender가 픽업되지 않았다는 것을 알게 된 방법 인 orginally를 가능하게했다. 추가하려고하는 appender를 인식하지 못하는 것 같습니다. 왜 그래도, 내 문제가 뭔지 모르겠다. Log4NET : Logger : 로거 [System.Exception] 저장소 [log4net-default-repository]에 대해 appenders를 찾을 수 없습니다. – Nic

답변

3

게시자가 게시 한 설정 파일은 실제로 AdoNetAppender를 사용하지 않습니다. 두 번째 마지막 줄에서 RollingFile을 AdoNetAppender로 교체해야할까요?

그렇지 않은 경우 나머지 구성 파일을 게시 할 수 있습니까?

+0

간혹 명백한 점은 모두 선량을 필요로하는 경우입니다. 고맙습니다. 최종 노드에주의를 기울이지 않아도 고맙습니다. - | – Nic