2009-04-13 2 views
2

log4net을 활성화하고 예외를 제공하는 응용 프로그램을 실행했습니다.NHibernate log4net 활성화

하지만 로그 파일이 비어 있습니다.

예외에 대한 로그 정보를 NHibernate하지 않습니까 ???

말콤

+1

의심 우리가 좀 더 정보를 원하시면 .... –

답변

5

log4net을 구성해야합니다. 단지 log4net dll을 프로젝트에 추가하여 아무것도 기록하지 않습니다. 모든 로그 파일의 위치를 ​​지정하려면 appender를 만들어야합니다. 응용 프로그램 시작할 때

 

<log4net> 
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
     <file value="Logs\Trace.log" /> 
     <appendToFile value="true" /> 
     <rollingStyle value="Composite" /> 
     <maxSizeRollBackups value="30" /> 
     <maximumFileSize value="1000KB" /> 
     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%date [%thread] %-5level - %message%newline" /> 
     </layout> 
     <threshold value="DEBUG"/> 
    </appender> 
    <root> 
     <appender-ref ref="RollingFileAppender" /> 
    </root> 
</log4net> 
 

...하고 구성 :이 같은 XML 파일을 만듭니다

 

    public static void Main() 
    { 
     var logconfig = new System.IO.FileInfo(PATH_TO_LOG_CONFIG); 
     if(logconfig.Exists) 
     { 
      log4net.Config.XmlConfigurator.ConfigureAndWatch(logconfig); 
     } 
    } 
 
+0

하디가 필요할 수 있습니다를, 방법을 수행합니다 이 작업은 Main이없는 곳에서 단위 테스트까지? TestDriven.Net 사용 예 : –

+1

테스트 설치 (예 : 기본 클래스)에서 Log4Net을 구성하여 ConsoleAppender를 만들고 모든 로그 메시지를 Console로 리디렉션하지 않는 이유는 무엇입니까? 대부분의 테스트 주자는 한 방향으로 또는 다른 방향으로 표시합니다. –