디버깅 목적으로 nlog를 사용하여 로그 파일을 작성하고 있습니다. 현재 로그 파일 위치가 설정됩니다로그 파일을 쓸 위치는?
<target
name="file"
xsi:type="File"
fileName="${specialfolder:folder=LocalApplicationData}/x/y.log"
하지만 asp.net/IIS이 NETWORK SERVICE
계정으로 실행에 기대하는 것처럼이는 파일이 c:\x\y.log
하지 %windir%\ServiceProfiles\NetworkService\AppData\Local\x\y.log
에 기록되는 결과입니다.
웹 응용 프로그램에서 Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
의 값을 확인하면 비어있는/널 (null/null) 문자열이 생깁니다. 이는 적어도 내 로그가 루트로 끝나는 이유를 설명합니다.
그래서 정말 두 가지 질문 :
우리는 제대로이 경로를 해결 작성하고 NETWORK SERVICE
계정에서 실행중인 서비스가 있습니다. 이 특별한 폴더에 값을 반환하지 않는 asp.net/IIS의 특별한 점은 무엇입니까?
내 asp.net 프로세스가 NETWORK SERVICE
계정으로 실행 중일 때 안전하고 합리적인 곳에 로그를 기록 할 수있는 곳은 어디입니까?
IIS 6 또는 7을 사용하고 있습니까? – ccellar
IIS7 on server2008 – spender