2010-03-02 4 views
0

Short : 로그 파일을 덤프 할 Windows 서비스에 가장 적합한 폴더는 무엇입니까? 세부Windows 서비스 로그 파일을 덤프 할 폴더

나는 낮은 기술 최종 사용자 (컴퓨터와 제조 라인 모니터링 센서 사이의 실제 통신)을보고 관심을 가질 수있는 로그 파일을 생성하는 Windows 서비스가 있습니다.

컴퓨터는 데이터 수집 서버의 역할을하는 독립형 전용 컴퓨터이며 모니터가있어 최종 사용자가 액세스 할 수 있지만 문제가없는 한 만지기위한 것은 아닙니다.

로그 파일을 출력 할 때 가장 적합한 장소 (폴더)는 무엇입니까?

내 고려 사항은 다음과 같습니다 구성

  1. 용이성 (경우에 나는 지역 서비스가 해당 폴더에 계정에 대한 액세스 권한을 부여해야합니다).
  2. 최종 사용자가 쉽게 액세스 할 수 있습니다 (다시 : 필요하지 않아도되지만 때로는 원할 수도 있음).

편집 : 약 10MB 크기의 롤링 크기 파일을 생성합니다. 크기에는 문제가 없기 때문에 압축 및 정리가 필요 없습니다.

답변

3

내가 선호하는 것은 모든 사용자 폴더 구조를 사용하는 것입니다. 거기에 서비스 응용 프로그램과 동일한 이름의 폴더를 만들면 내용이 어디에서 왔는지 쉽게 알 수 있습니다. Program Files 폴더를 손상시키지 않고 액세스 권한을 부여 할 수 있으며 응용 프로그램을 제거하거나 업그레이드하면 떠나지 않습니다. 설치 프로그램이 일부 로그 파일을 삭제해야한다는 것을 모르기 때문에 제거 할 수없는 Program Files의 'orphan'폴더.

+0

좋은 지적. 지금 내가하고있는 순간 : Environment.GetFolderPath (Environment.SpecialFolder.CommonApplicationData) + "/ My Service/Logs" –

1

글쎄, /Logs/ 폴더에 서비스가 설치된 위치를 말하고 싶습니다. 그런 다음 나중에이 파일을 압축하는 기능을 추가하십시오.

이렇게하면 실제 실행중인 응용 프로그램에서 응용 프로그램 데이터를 분리하지 않습니다. 예를 들어 이것을 C:\LogDumps\으로 저장하면 어떤 프로그램이 파일을 처음 만들었는지 알 수없고 유지 관리가 어려울 수 있습니다.

+0

서비스를 Program Files 디렉토리에 설치하는 경우 'Program Files'의 항목에 '로컬 서비스'쓰기 권한을 부여하는 것을 꺼리게됩니다. C : \ LogDumps는 서비스가 누락 된 경우 가장 낮은 수준의 폴더를 만들 수 있기를 기대하므로 같은 이유로 나쁠 수도 있습니다. –

+0

Program Files에 권한을 부여하지 않았습니다. 프로그램 파일 내에서 폴더 내의 폴더에 권한을 부여합니다. 로그 폴더에만 사용 권한을 유지하면 로그 폴더에만 액세스 할 수 있습니다. –

+0

"나는 '로컬 서비스'에 '프로그램 파일'에있는 모든 것에 대한 쓰기 권한을 꺼려합니다."응용 프로그램 데이터 "디렉토리의 의미를 이해합니다. 프로그램 파일 , Program Files는 프로그램 설치 및 설치 수준 구성에만 사용됩니다. –

1

로그에 가장 직관적 인 장소는 서비스가 설치된 폴더의 하위 폴더 "로그"입니다. 예를 들어, 서비스는 여기에 설치되어있는 경우 :

C :

C : \ 프로그램 파일 내 서비스 \ 내 회사를 \ \ 프로그램 파일은 여기에 로그를 넣어

\ 내 서비스 \ 내 회사를 \ \ logs \

응용 프로그램이 "Documents and Settings"또는 "My Documents"영역에 로그온 할 때 마음에 들지 않습니다. - 내가 생각한 폴더에서 만들지 않은 쓰레기가 싫어졌습니다. 내 문서.

+0

내가 말한 것과 동일;) –

+0

일부 응용 프로그램이 Documents and Settings 영역에 쓰는 이유는 실행중인 서비스 프로세스의 소유자에 따라 사용 권한이 덜 제한적이기 때문입니다. – Joe

+0

사용자 "Bob"은 사용자 "로컬 서비스"(마녀 Windows 서비스에서 계정이 실행 중임)와 다른 "내 문서"위치를 가지기 때문에 내 문서는 좋은 옵션이 아닙니다. –