명령 줄에서 Windows EventLog 소스를 만드는 방법은 무엇입니까?


Answers

PowerShell 2.0의 EventLog cmdlet 사용해보기

PowerShell 2.0 이상에서 이것을 던집니다.

  • New-EventLog 한 번 실행하여 이벤트 소스를 등록하십시오.

    New-EventLog -LogName Application -Source MyApp
    
  • 그런 다음 Write-EventLog 를 사용하여 로그에 기록하십시오.

    Write-EventLog 
        -LogName Application 
        -Source MyApp 
        -EntryType Error 
        -Message "Immunity to iocaine powder not detected, dying now" 
        -EventId 1
    
Question

Windows EventLog에 로그 할 ASP.NET 응용 프로그램을 만들고 있습니다. 이렇게하려면 이벤트 원본을 먼저 만들어야합니다. 이것은 관리자 권한이 필요하므로 ASP.NET 응용 프로그램에서는 수행 할 수 없습니다.

이벤트 로그 원본을 만들 수있는 Windows와 번들로 제공되는 기존 명령 줄 응용 프로그램이 있습니까? 아니면 직접 배포해야합니까?




diagnostics.Event 로그 클래스를 사용하여 사용자 정의 이벤트를 만들 수 있습니다. Windows 응용 프로그램을 열고 버튼을 클릭하면 다음 코드가 실행됩니다.

System.Diagnostics.EventLog.CreateEventSource("ApplicationName", "MyNewLog");

"MyNewLog"는 이벤트 표시기에서 로그에 제공하려는 이름을 의미합니다.

자세한 내용은이 링크를 확인하십시오. [ http://msdn.microsoft.com/en-in/library/49dwckkz%28v=vs.90%29.aspx]




eventcreate2 는 사용자 정의 로그를 작성할 수있게하며, eventcreate 는 그렇지 않습니다.




관심있는 사람이 있으면 일부 레지스트리 값을 추가하여 수동으로 이벤트 소스를 만들 수도 있습니다.

다음 줄을 .reg 파일로 저장 한 다음 두 번 클릭하여 레지스트리로 가져옵니다.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\YOUR_EVENT_SOURCE_NAME_GOES_HERE]
"EventMessageFile"="C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\EventLogMessages.dll"
"TypesSupported"=dword:00000007

그러면 YOUR_EVENT_SOURCE_NAME_GOES_HERE 이라는 이벤트 소스가 생성됩니다.