2011-08-01 5 views
2

IIS 7.5/Server 2008 R2에서 log4net을 RollingFileAppender와 함께 사용하려고합니다. 그러나 이전 IIS 6/Server 2003 상자의 구성이 더 이상 작동하지 않는 것으로 보입니다. 로그 파일이 생성되는 것을 볼 수 없으며 여기에 설정이 있습니다.log4net RollingFileAppender 및 IIS 7.5

In Web.config <configuration> 내부 동일한 파일에

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 

()

<log4net> 
     <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> 
      <layout type="log4net.Layout.PatternLayout"> 
       <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/> 
      </layout> 
     </appender> 
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender"> 
     <file value="..\\logs\\App" /> 
     <appendToFile value="true" /> 
     <rollingStyle value="Date" /> 
     <param name="StaticLogFileName" value="false" /> 
     <datePattern value=".yyyyMMdd.lo\g" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date | [%thread] | %-5level | %logger | %message %newline" /> 
     </layout> 
    </appender> 
    <logger name="AppLogger" additivity="false"> 
     <level value="All"/> 
     <appender-ref ref="ConsoleAppender"/> 
     <appender-ref ref="LogFileAppender"/> 
    </logger> 
</log4net> 

) <configSections> 내부에 마지막으로 Global.asax 안에 내가 가진 :

protected void Application_Start() 
{ 
    log4net.Config.XmlConfigurator.Configure(); 
} 

이것은 Server 2003에서 작동했으며 로거에 대한 참조를 얻고 다양한 방법 (디버그, 오류 등)을 호출하는 일반적인 절차를 수행 할 수 있습니다. IIS 7.5/Server 2008에서는 모든 코드가 제대로 실행되지만 (즉, 모든 페이지가 계속 표시됨) 로그 출력 디렉터리에는 로그가 없습니다.

누구나 이전에이 문제를 보았거나 해결 방법을 얻었습니까?

감사합니다.

답변

7

사용 권한 문제 로그 파일을 쓰는 프로세스에서 실행중인 사용자 (ASPNET)에 로그인하려는 디렉터리에 대한 쓰기 권한이없는 경우가 많습니다.이 사용자 귀하의 설정에 폴더에 대한 쓰기 권한이 있습니다.

+2

나는 그 체크 것을 맹세 할 수 있었다 -하지만 난 그것을 다시 확인해 당신이 지적했듯이 나는 (IIS_IUSRS하지 ASPNET 임) IIS 사용자 계정에 수정/쓰기 권한을 추가 할 필요가 있었다. 지금 일하고있는 것 같습니다 ... 고마워요! – debracey

+0

예, 사용자에 대해 정확히 알지 못했습니다. 그 점을 지적 해 주셔서 감사합니다. –

0

로그 파일의 상대 경로를주의하십시오.
절대 경로을 올바른 권한을 가진 폴더에 시도하십시오. 예 :

<file value="C:\\logs\\App" />