Visual Basic 및 Visual C# 개념
사용자 인터페이스 만들기
이 연습에서는 Windows 창을 만들고 그 위에 있는 일련의 컨트롤을 사용하여 일련의 이벤트 로그 작업을 시작합니다.
응용 프로그램에 창과 컨트롤 만들기
컨트롤
Text 속성
Name 속성
Button1
사용자 정의 로그 만들기
CreateLog
Button2
로그 삭제
DeleteLog
Button3
쓰기 항목
WriteEntry
Button4
로그 지우기
ClearLog
Button5
로그가 있는지 확인
VerifyLog
Button6
소스가 있는지 확인
VerifySource
Button7
이벤트 소스 제거
RemoveSource
Button8
읽기 항목
ReadEntry
사용자 정의 로그 작성 및 삭제
이 과정에서 SourceExists 방법을 사용하여 원본이 존재하지 않는지 확인한 다음 존재하지 않는 로그의 이름을 사용하여 CreateEventSource 방법을 호출합니다.이 로그가 존재하지 않기 때문에, 이 코드를 실행할 때, 시스템은 사용자 정의 로그를 만들 것입니다.
사용자 정의 로그 만들기
' Visual Basic
' Source cannot already exist before creating the log.
If EventLog.SourceExists("Source1") Then
EventLog.DeleteEventSource("Source1")
End If
' Logs and Sources are created as a pair.
EventLog.CreateEventSource("Source1", "NewLog1")
' Associate the EventLog component with the new log.
EventLog1.Log = "NewLog1"
EventLog1.Source = "Source1"
// C#
// Source cannot already exist before creating the log.
if (System.Diagnostics.EventLog.SourceExists("Source1"))
{
System.Diagnostics.EventLog.DeleteEventSource("Source1");
}
// Logs and Sources are created as a pair.
System.Diagnostics.EventLog.CreateEventSource("Source1", "NewLog1");
// Associate the EventLog component with the new log.
eventLog1.Log = "NewLog1";
eventLog1.Source = "Source1";
안전 설명 이벤트 로그를 만들 때 자원이 이미 존재하면 해야 할 작업을 결정해야 합니다.다른 프로세스 (악성 프로세스일 수도 있음) 는 이벤트 로그를 만들었을 수도 있고, 이 이벤트 로그에 대한 접근권을 가지고 있을 수도 있습니다.이벤트 로그에 데이터를 넣으면 다른 프로세스에서 이 데이터를 사용할 수 있습니다.
사용자 정의 로그 삭제
' Visual Basic
If EventLog.Exists("NewLog1") Then
EventLog.Delete("NewLog1")
End If
// C#
if (System.Diagnostics.EventLog.Exists("NewLog1"))
{
System.Diagnostics.EventLog.Delete("NewLog1");
}
항목을 로그에 쓰기
이 과정에서 생성된 EventLog 구성 요소 인스턴스를 사용하여 항목을 로그에 기록합니다.이를 위해, 먼저 이 구성 요소를 방금 만든 원본 문자열을 사용하도록 설정한 다음, 쓸 두 가지 항목을 지정합니다: 정보 이벤트와 오류 이벤트.
항목을 로그에 쓰기
' Visual Basic
EventLog1.WriteEntry("This is an informational message")
EventLog1.WriteEntry("This is an error message", _
Diagnostics.EventLogEntryType.Error)
// C#
eventLog1.WriteEntry("This is an informational message");
eventLog1.WriteEntry("This is an error message",
System.Diagnostics.EventLogEntryType.Error);
로그 항목 지우기
이 과정에서 Clear 방법을 사용하여 사용자 정의 로그에서 기존 항목을 제거합니다.
로그 항목 지우기
' Visual Basic
EventLog1.Clear()
// C#
eventLog1.Clear();
로그 및 소스 확인
이 과정에서 사용자 정의 로그가 존재하는지, 원본 문자열이 존재하는지 확인하는 두 가지 과정이 만들어집니다.이 프로세스를 사용하여 프로젝트를 실행할 때 실행되는 각종 작업의 결과를 테스트합니다.
사용자 정의 로그가 있는지 확인
' Visual Basic
Dim logExists As Boolean = EventLog.Exists("NewLog1")
MessageBox.Show("Does the log exist? " & logExists.ToString())
// C#
bool logExists = System.Diagnostics.EventLog.Exists("NewLog1");
MessageBox.Show("Does the log exist? " + logExists.ToString());
소스가 있는지 확인
' Visual Basic
Dim sourceExists As Boolean = EventLog.SourceExists("Source1")
MessageBox.Show("Does the source exist? " + sourceExists.ToString())
// C#
bool sourceExists =
System.Diagnostics.EventLog.SourceExists("Source1");
MessageBox.Show("Does the source exist? " + sourceExists.ToString());
소스 제거
이 과정에서 원본 문자열을 삭제하기 위해 코드를 작성합니다.이렇게 하려면 먼저 삭제할 소스(Source1)가 있는지 확인한 다음 DeleteEventSource 방법을 사용하여 제거합니다.
생성된 이벤트 소스 제거
' Visual Basic
If EventLog.SourceExists("Source1") Then
EventLog.DeleteEventSource("Source1")
End If
// C#
if (System.Diagnostics.EventLog.SourceExists("Source1"))
{
System.Diagnostics.EventLog.DeleteEventSource("Source1");
}
읽기 항목
이 과정에서 이벤트 로그에 순환적으로 접근하는 항목 집합과 로그에 있는 기존 메시지를 표시하기 위해 코드를 작성합니다.
만든 사용자 정의 로그에서 항목 읽기
' Visual Basic
Dim entry As EventLogEntry
If EventLog1.Entries.Count > 0 Then
For Each entry In EventLog1.Entries
System.Windows.Forms.MessageBox.Show(entry.Message)
Next
Else
MessageBox.Show("There are no entries in the log.")
End If
// C#
if (eventLog1.Entries.Count > 0)
{
foreach (System.Diagnostics.EventLogEntry entry
in eventLog1.Entries)
{
MessageBox.Show(entry.Message);
}
}
else
{
MessageBox.Show("There are no entries in the log.");
}
테스트 코드
이 절에서는 서버 자원 관리자를 사용하여 코드의 결과를 검증합니다.
서버 리소스 관리자 시작
서버 리소스 매니저의 서버 노드는 Visual Basic 및 Visual C# 에 있습니다.NET 의 표준 버전에서는 사용할 수 없습니다.자세한 내용은 Visual Basic Standard Edition 또는 Visual C# Standard Edition 기능을 참조하십시오.이 경우 Windows 이벤트 뷰어를 사용하여 응용 프로그램의 결과를 볼 수 있습니다.
애플리케이션 생성 및 실행
Windows 이벤트 로그를 작성하려면 응용 프로그램을 실행하는 서버에 적절한 권한이 있어야 합니다.보안 오류가 발생하면 시스템 관리자에게 문의하십시오.
사용자 정의 로그 생성, 삭제 및 검증 테스트
사용자 정의 로그에 항목을 쓰고 사용자 정의 로그에서 항목을 읽는 테스트
서버 리소스 매니저의 서버 노드는 Visual Basic 및 Visual C# 에 있습니다.NET 의 표준 버전에서는 사용할 수 없습니다.자세한 내용은 Visual Basic Standard Edition 또는 Visual C# Standard Edition 기능을 참조하십시오.
쓰기 버튼을 여러 번 클릭하면 추가 메시지가 표시됩니다.
로그 지우기 테스트
소스 문자열 제거 테스트
이 동작을 사용하면 현재 원본이 존재하지 않으므로 로그에 항목을 쓸 수 있습니다.
WriteEntry 메서드가 설정됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
제한된 크기의 디렉토리를 만드는 방법오늘 저는 장치에 공간이 없을 때 백업 중에 응용 프로그램이 어떻게 작동하는지 테스트(및 수정)하는 작업이 있습니다. 결과적으로 "남은 공간 없음"오류로 백업이 실패하면 새 파일이 없어야 합니다. 지금까지 문제를 재...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.