2010-03-17 3 views
1

.net3.5 웹 응용 프로그램에서 log4net을 사용하여 로그 할 Windows 2003 프로덕션 시스템에 iis 서버가 있습니다. Log4net은 log4net 버전 1.2.9.0을 사용하는 1.1 응용 프로그램에서 잘 작동하지만 3.5 웹 응용 프로그램에서는 작동하지 않습니다. 로깅은 개발 및 준비 환경에서는 제대로 작동하지만 프로덕션에서는 제대로 작동하지 않습니다. 오류가 아니며 이벤트 뷰어에 이벤트가 기록되지 않고 다음에 어디서 볼지 모릅니다. log4net (1.2.9.0 및 1.2.10.0)의 두 버전을 모두 사용해 보았습니다. 둘 다 개발 및 준비 중이지만 프로덕션에서는 작동하지 않습니다.log4net이 .net 1.1과 .net 3.5가 혼합되어 로깅되지 않습니다.

테스트 목적으로 페이지가로드되는 시간을 반향하고 log4net을 사용하여 내 로그 파일에 로그온해야하는 단일 페이지 응용 프로그램을 만들었습니다. 어떤 도움을 크게 감상 할 수

 // Logging for the application 
    private static ILog mlog = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 

    protected void Application_Start(object sender, EventArgs e) 
    { 
     try 
     { 
      // Start the configuration of the Logging 
      XmlConfigurator.Configure(); 

      mlog.Info("Started logging for the TestApp Application."); 
     } 
     catch (Exception ex) 
     { 
      throw; 
     } 
    } 

:

<configSections> 
    <!-- LOG4NET Configuration --> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" requirePermission="false" /> 
</configSections> 

<log4net debug="true"> 
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
     <param name="File" value="D:\DIF\Logs\TestApp\TestApp_"/> 
     <param name="AppendToFile" value="true"/> 
     <param name="RollingStyle" value="Date"/> 
     <param name="DatePattern" value="yyyyMMdd\.\l\o\g"/> 
     <param name="StaticLogFileName" value="false"/> 
     <layout type="log4net.Layout.PatternLayout"> 
      <param name="ConversionPattern" value="%date{HH:mm:ss} %C::%M [%-5level] - %message%newline"/> 
     </layout> 
    </appender> 
    <root> 
     <level value="ALL"/> 
     <appender-ref ref="RollingFileAppender"/> 
    </root> 
</log4net> 

가 여기 내 log4net 초기화입니다 :

여기 내 web.config 파일입니다.

감사합니다,

답변

1

그것이 내가 권한을 의심으로 시작 했죠 디바이스 및 스테이징 환경에서 작동하는 경우. 3.5 앱이 log4net 출력과 같은 위치에있는 파일에 쓸 수 있는지 확인하십시오.

+0

조, 올바른 방향으로 나를 가리켜 주셔서 감사합니다. 이 작업을 수행 한 후에는 물론 사용 권한을 알려주었습니다. 파일 사용 권한이 아니었지만 ISP는 1.1 .net의 "전체"신뢰와 .net 3.5의 "중간"신뢰를가집니다. 나는 Framework \ Config \ web.config 파일에서 그것을 바 꾸었습니다! 가끔은 내 생각에 pidgeon을 어떻게 생각하게 만들 수 있을지 믿을 수 없으며 단지 약간 뒤로 물러서서 올바른 방향으로 안내 할 때가 있습니다. 감사!! –