2009-04-07 2 views
1

Log4Net을 사용하여 Spring.Net을 로깅하는 데 문제가 있습니다. 나는 특히 애스펙트 주변에서 로깅을 보는 것에 관심이있다.Log4Net을 사용하는 Spring.Net 로깅이 작동하지 않습니다.

... 
<logger name="Spring"> 
    <level value="DEBUG" /> <!-- Have tried INFO as well, no different --> 
    <appender-ref ref="SpringAppender"/> 
</logger> 

<appender name="SpringAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value="..\Log\Spring_Log.txt"/> 
    <appendToFile value="true"/> 
    <maximumFileSize value="100MB"/> 
    <maxSizeRollBackups value="2"/> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%date %-5level [%thread] %logger - %message%newline"/> 
    </layout> 
</appender> 
... 

파일 "Spring_Log.txt"만들어,하지만 아무것도 그것 (즉, 빈 파일)를 기록되지 않습니다 : 내가 만약 MovieFinder 예제 응용 프로그램의 유사한 아주 간단 로그 설정을 사용하고 있습니다. Log4Net은 현재 NHibernate와 커스텀 앱 로깅을 위해 올바르게 로깅하고 있습니다. 저는 Spring.Net v1.2.0.20313과 Log4Net v1.2.10.0을 사용하고 있습니다.

해결할 수 있었던 다른 사람이 있습니까? 어떤 도움이나 환호에 감사드립니다.

답변

3

말했다 문서에 대한 http://netcommon.sourceforge.net/documentation.html를 참조하십시오, 당신은 Common.Logging를 구성해야합니다. log4net 구성 파일이 정상입니다.

가 함께 제공되는 & Common.Logging.Log4Net 어셈블리를 Common.Logging 추가 : 여기

2009-05-02 19:08:40,890 DEBUG [10] Spring.Objects.Factory.Support.AbstractObjectDefinitionReader - Loading XML object definitions from config [C:\Documents and Settings\pczapla\My Documents\Visual Studio 2008\Projects\TimeLogger\TimeLogger\bin\Debug\TimeLogger.exe.config#spring/objects] 
2009-05-02 19:08:40,905 DEBUG [10] Spring.Objects.Factory.Support.AbstractObjectDefinitionReader - Using the following XmlReader implementation : System.Xml.XsdValidatingReader 
2009-05-02 19:08:40,921 DEBUG [10] Spring.Objects.Factory.Xml.DefaultObjectDefinitionDocumentReader - Loading object definitions. 
2009-05-02 19:08:40,921 DEBUG [10] Spring.Objects.Factory.Xml.ObjectDefinitionParserHelper - Loading object definitions... 

이 Common.Logging 구성하는 방법을 빠른 가이드 : 나는 당신의 구성 파일을 사용하여 알아 낸 다음은 lib 폴더의 봄 ( C:\Program Files\Spring.NET 1.2.0\lib\Net\2.0\). 는 그런 다음 app.config에 다음과 같은 구성을 추가합니다 : 그것은

<configuration> 
    </configSections> 
     ... 
     <sectionGroup name="common"> 
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" /> 
     </sectionGroup> 
    </configSections> 
    ... 
    <common> 
     <logging> 
      <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net"> 
       <!-- Common Logging assumes that log4net is initialized --> 
       <arg key="configType" value="EXTERNAL"/> 
       <!-- Or it can configure log4net for you 
       <arg key="configType" value="FILE-WATCH" /> 
       <arg key="configFile" value="path\to\your\log4net.config" /> 
       --> 
      </factoryAdapter> 
     </logging> 
    </common> 
</configuration> 

즉. 이제 봄부터 디버그 메시지를 얻어야합니다.

1

Spring.NET은 Common.Logging을 사용합니다. log4net에 로그온하기 위해 Common.Logging을 구성 했습니까?

HTH, 에리히으로 에리히