답변:
예를 들면 :
eventcreate /ID 1 /L APPLICATION /T INFORMATION /SO MYEVENTSOURCE /D "My first log"
그러면 이벤트 로그 아래에 이벤트 유형 으로 이름 지정된 새 이벤트 소스 가 작성됩니다 .MYEVENTSOURCE
APPLICATION
INFORMATION
이 유틸리티는 XP 이후로만 포함되어 있다고 생각합니다.
Windows IT Pro : JSI 팁 5487. Windows XP에는 사용자 지정 이벤트를 만들기위한 EventCreate 유틸리티가 포함되어 있습니다.
eventcreate /?
CMD 프롬프트에서 입력
Microsoft TechNet : Windows 명령 줄 참조 : Eventcreate
SS64 : Windows 명령 줄 참조 : Eventcreate
MYEVENTSOURCE
이미 존재하고 eventcreate가 아닌 다른 것을 사용하여 생성 된 이벤트는 생성되지 않습니다.
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
New-EventLog
-ing와 Remove-EventLog
'다시 -ing 때 등 문제점이 발생할 수 있습니다 Source
등록되어 있지만 지정에 기록하지 않습니다 Log
. 컴퓨터를 다시 시작 하면 도움이됩니다. 또 다른 팁 : regedit 를 사용하여 이벤트 로그에서 진행중인 작업을 확인할 수 있습니다.[Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\]
다음 명령으로 Windows PowerShell을 사용할 수도 있습니다.
if ([System.Diagnostics.EventLog]::SourceExists($source) -eq $false) {
[System.Diagnostics.EventLog]::CreateEventSource($source, "Application")
}
CreateEventSource를 호출하기 전에 소스가 존재하지 않는지 확인하십시오. 그렇지 않으면 예외가 발생합니다.
더 많은 정보를 위해서:
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
됩니다.
또는 명령 행 명령을 사용하십시오.
이벤트 작성
그러나 cmd / 배치 버전이 작동하면 1000보다 높은 eventID를 정의하려고 할 때 문제가 발생할 수 있습니다. eventID가 1000 이상인 이벤트를 만들려면 다음과 같이 powershell을 사용합니다.
$evt=new-object System.Diagnostics.Eventlog(“Define Logbook”)
$evt.Source=”Define Source”
$evtNumber=Define Eventnumber
$evtDescription=”Define description”
$infoevent=[System.Diagnostics.EventLogEntryType]::Define error level
$evt.WriteEntry($evtDescription,$infoevent,$evtNumber)
견본:
$evt=new-object System.Diagnostics.Eventlog(“System”)
$evt.Source=”Tcpip”
$evtNumber=4227
$evtDescription=”This is a Test Event”
$infoevent=[System.Diagnostics.EventLogEntryType]::Warning
$evt.WriteEntry($evtDescription,$infoevent,$evtNumber)
diagnostics.Event 로그 클래스를 사용하여 사용자 정의 이벤트를 작성할 수 있습니다. Windows 응용 프로그램을 열고 버튼을 클릭하여 다음 코드를 수행하십시오.
System.Diagnostics.EventLog.CreateEventSource("ApplicationName", "MyNewLog");
"MyNewLog"는 로그인 이벤트 뷰어에 부여 할 이름을 의미합니다.
자세한 내용은이 링크를 확인하십시오 [ http://msdn.microsoft.com/en-in/library/49dwckkz%28v=vs.90%29.aspx]