0

응용 프로그램 log4net이 Windows 8에서 구현되어 실행 중입니다. 로컬 관리자로 로그인 한 후 로그를 작성하면 응용 프로그램을 실행할 수 있습니다. 다음은 log4net 디버그 항목입니다.Log4net이 nonadmin 계정에 로그를 생성 할 수 없음

log4net: Creating repository [log4net-default-repository] using type [log4net.Repository.Hierarchy.Hierarchy] 
log4net: configuring repository [log4net-default-repository] using file [.\Resources\Configuration\LoggerConfig.xml] 
log4net: configuring repository [log4net-default-repository] using stream 
log4net: loading XML configuration 
log4net: Configuring Repository [log4net-default-repository] 
log4net: Configuration update mode [Merge]. 

그러나 응용 프로그램이 다른 계정에서 실행되면 로그 생성이 중지됩니다. log4net 디버그 정보는 다음과 같습니다 :

log4net: Creating repository [log4net-default-repository] using type [log4net.Repository.Hierarchy.Hierarchy] 
log4net: configuring repository [log4net-default-repository] using file [.\Resources\Configuration\LoggerConfig.xml] 
log4net: config file [C:\Windows\system32\Resources\Configuration\LoggerConfig.xml] not found. Configuration unchanged. 

다음 응용 프로그램의 exe 및 호환성 모드에서 관리자 권한으로 실행되도록 선택했습니다. 아직도 운이 없다. 누구나 정확히 무엇을 어디서 확인해야하는지 제안 해 주시겠습니까?

+0

구성을로드하는 코드를 표시 할 수 있습니까? – stuartd

답변

0

하여 오류 메시지를 보면 :

log4net: config file [C:\Windows\system32\Resources\Configuration\LoggerConfig.xml] not found. Configuration unchanged. 

관리자가 아닌 사용자가 system32 폴더에 액세스 할 수 없습니다. 구성 파일 (및 기타 관련 리소스)을 제한된 폴더에없는 응용 프로그램의 공용 폴더로 옮기는 것이 좋습니다. "C : \ YourAppName \ Resources \".

+0

. \ Resources \ Configuration \ LoggerConfig.xml에 config 파일이 있습니다. 시스템 폴더에서 왜 찾고 있는지 실제로 알 수 없습니다 !! – marifrahman

+0

다른 사용자로 실행할 때 app이 system32 폴더에서 실행 중임을 나타냅니다. ". \ Resources \ Configuration \ LoggerConfig.xml"을 읽었을 때 system32에서 끝나면 그게 문제입니다. 다른 사용자로 실행할 때 어떻게 실행합니까? 스케줄러를 통해서입니까? 시작 폴더를 지정할 수 있습니까? – heathesh

+0

음, 응용 프로그램은 루트 C : \ myapp \ myapp.exe에 있습니다. C : \ logon.bat – marifrahman