저는 행복하게 XP 컴퓨터에서 WPF 프로그램과 함께 log4net을 사용했으며 행복하게 fileAppender FileAppender를 사용하여 로그 메시지를 c : \ log.txt에 기록했습니다. 모든게 괜찮 았어. 그러나 Windows 7 컴퓨터에서는 작동하지 않습니다. 오류가 없거나 아무것도 작성되지 않았으며 파일이 작성되지 않았으며 로그온이 훨씬 적습니다. 약간의 연구 결과에 따르면 Windows 7의 파일 사용 권한 문제 (UAC)이며 사실 관리자 권한으로 실행 파일을 실행하면 작동합니다. (관리자로 로그온 했음에도 불구하고) 클릭 만하면 작동하지 않으며 Visual Studio에서 시작할 때 작동하지 않습니다.파일에 log4net 쓰기. 권한을 여는 방법
질문 :1. 누군가가 하나의 파일 (C : \ log.txt)에 쓰기 권한을 요청하는 예제를 가리킬 수 있습니까? app.config가 전체 프로그램이 관리자 권한으로 실행되도록 요청하는 구성의 예제를 보았습니다. 이것은 잔인한 것 같지만 그것이 효과가있을 것 같아요. 2. 정보를 로그 파일로 보내는 더 좋은 방법이 있습니까? 결국 C :는 사용자 컴퓨터에 존재하지 않습니다. 필자는 Windows 7에서 "사용자 파티션"이라는 개념을 생각해 냈지만 XP와 Vista에서 어떤 작업을해야만하는지 알 수 있습니다.
감사 톤, 데이브
대단히 감사합니다. 후속 조치를 요청할 수 있습니까? .config 파일을 여러 프로젝트에 공유하고 있습니다. 파일을 솔루션, 프로젝트 또는 어셈블리 이름 아래에 넣고 싶습니다. 나는 시도했다 : <파일 값 = "$ {ALLUSERSPROFILE} \ MyCompany \ $ AssemblyName $ \ rollinglogfile.txt"/>하지만 작동하지 않습니다. 이 작업을 수행하기 위해 $ Solution 또는 $ Project와 같은 매크로가있을 것입니다. 내가 방금 저 아래에 저장 한 것은 ...\ $ AssemblyName $ – Dave
또한 수백만 명의 뷰어를 위해 :) 나중에 누가 보는지 XP는 Documents and Settings \ CompanyName ... 파일에 저장하지만 Windows 7은 C : \ Users \ All Users \ MyCompany \ $ AssemblyName $ 이것은 간단히 나를 혼란스럽게 만들었습니다. – Dave
가장 가까운 것이 아마 보통 % exdom의 이름이 될 appdomain 일 것입니다. 전체 목록은 http://logging.apache.org/log4net/release/sdk/log4net.Layout.PatternLayout.html을 참조하십시오. – sgmoore