나는 온라인 연구를 통해 발견 내 Windows 서비스를 로깅을위한 다음과 같은 코드가 있습니다. 의는 아래와 같이 초기화되고 바로 전에 내 서비스 클래스의 내부에서 수행. 로그인 할 때를위한로깅 Windows 서비스는
public GBBInvService()
{
InitializeComponent();
if (!System.Diagnostics.EventLog.SourceExists("MyLogSource"))
System.Diagnostics.EventLog.CreateEventSource("MyLogSource",
"MyDoLog");
eventLog1.Source = "MyLogSource";
eventLog1.Log = "MyDoLog";
}
코드 : 나는 그러나 우리의 컨설턴트가 반대 권고 한
eventLog1.WriteEntry("GBBInvService Service Started");
. 아래에 그의 의견 :
나는 서비스가 실행시에 이벤트 소스를 만들 필요가 없도록 것입니다. 이를 위해서는 서비스가 높은 권한 (즉, 실제로 필요한 것보다 더 많은 컴퓨터에 대한 액세스 권한)으로 실행되어야합니다. Windows 이벤트 로그 소스를 설정하는 것은 실제로 설치 시간 작업입니다. 서비스 설치 관리자와 함께 프로젝트 설치 관리자 파일에 이벤트 로그 설치 관리자를 추가 한 다음 이벤트 원본을 항상 추가 할 수 있습니다.
이 조언의 문제점은 내가 찾을 수 없었던 것입니다. 로그가 프로젝트 설치 프로그램 파일에 작성되는 예제. 또한이 로그 생성 부분을 프로젝트 설치 프로그램으로 옮겨 보았지만 내 웹 서비스 cs 페이지에서 eventlog1을 호출하거나 작성할 수는 없었습니다. 그는 또한 log4net을 제안했지만, 그것은 나에게 새롭고 유지를 파악하기가 꽤 복잡한 것이다. 나는 아직도 서비스는 단지 내 첫 번째 Windows 서비스 프로젝트를 완료 한 및 log4net에 내 서비스 CS 페이지 또는 머리부터 그것을 작성, 프로젝트 설치에 로그를 작성하는 방향으로 모든 종류의 매우 감사하게 될 것입니다 창에 아주 새로운 해요. 귀하의 컨설턴트가 올바른지
고맙습니다. 위에서 제공 한 링크를 살펴 본다면 페이지 하단에 사용자의 의견이 있습니다. 나는 똑같은 문제에 직면했다. 서비스가 시작되지 않습니다. – user1270384
서비스가 시작되지 않는 것으로 간주 될 수있는 업데이트가 추가되었습니다. –