2011-09-07 2 views
0

log4net을 사용하여 APPDATA 환경 변수에 항목을 기록해야하는 .NET 웹 응용 프로그램이 있습니다. 내 XP의 dev에 컴퓨터에서 잘 작동하지만 Windows 2003 서버에 배포 할 때 로그는 C : \에 기록됩니다. 나는 IIS 응용 프로그램 풀을 실행하기 위해 네트워크 서비스와 내 자신의 사용자 계정 (관리자 권한 포함)을 모두 사용해 보았지만 아무런 차이가 없다.Log4net은 Windows 2003에서 APPDATA 대신 C :로 작성

log4net의 펜더의 ​​설정은 다음과 같습니다

나는이에 설정을 변경하는 경우가 작동하기 때문에 쓰기 권한에 문제가 있다고 생각하지 않습니다
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender"> 
    <file value="${APPDATA}\appname\log."/> 
    <appendToFile value="true" /> 
    <rollingStyle value="Date" /> 
    <staticLogFileName value="false" /> 
    <datePattern value="'.'yyyy-MM-dd'.txt'" /> 
    <maxSizeRollBackups value="14" /> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%date&#9;%-5level&#9;%message%newline" /> 
    </layout> 
</appender> 

:

<file value="c:\Documents and Settings\username\Application Data\appname\log."/> 

사람을 무엇이 잘못되었고 어떻게 고쳐야하는지 알고 있습니다.

+0

동일한 문제가 발생하여 Win2003 서버에서만 발생합니다. log4net – skyfree

답변

0

APPDATA는 사용자 프로필을 만들 것을 요구합니다. 네트워크 서비스 계정의 경우에는 해당되지 않습니다. 명시 적 ID로 응용 프로그램 풀을 실행하면이 ID가 프로필을 만들 때 적어도 한 번 로그인해야한다고 생각합니다.

웹 응용 프로그램에서 사용자 프로필의 존재에 의존하지 말고 로그 파일의 다른 위치를 선택하는 것이 좋습니다.

+0

의 버그 여야합니다. 그런 다음 네트워크 서비스에 대해 설명하지만 내 계정은 많이 로그되었지만 여전히 운이 없습니다. – Tetaxa

+0

웹 응용 프로그램이 ASPNET으로 실행되고 응용 프로그램 풀의 사용자로 실행되지 않고 ASPNET 사용자에게는 프로필이없는 것일 수 있습니까? – Tetaxa

+0

사용자 프로필을로드하도록 APp 풀을 구성 했습니까? http://blogs.msdn.com/b/vijaysk/archive/2009/03/08/iis-7-tip-3-you-can-now-load-the-user-profile-of-the-application- pool-identity.aspx – Joe

관련 문제