728x90
반응형
윈도우의 이벤트 로그의 Application카테고리에 내가 만든 프로그램의 로그를 써보자.
public static void WriteEventLogEntry(System.Diagnostics.EventLogEntryType LogType, string message, string AppName = "Spider")
{
// Create an instance of EventLog
System.Diagnostics.EventLog eventLog = new System.Diagnostics.EventLog();
// Check if the event source exists. If not create it.
if (!System.Diagnostics.EventLog.SourceExists(AppName))
{
System.Diagnostics.EventLog.CreateEventSource(AppName, "Application");
}
// Set the source name for writing log entries.
eventLog.Source = AppName;
// Create an event ID to add to the event log
// 에러코드를 정의해서 넣을 수도 있을 것 같다.
int eventID = 8;
// Write an entry to the event log.
eventLog.WriteEntry(message, LogType, eventID, 10);
// Close the Event Log
eventLog.Close();
}
사용예)
WriteEventLogEntry(System.Diagnostics.EventLogEntryType.Error, ex.Message, "[Application Name]");
닷넷 프레임워크에서는 기본적으로 " System.Diagnostics"에 EventLog가 포함되어 있지만 .NET6 등의 코어에서는 포함되어 있지 않다. 하지만 Nuget에 " System.Diagnostics.EventLog" 패키지를 설치하면 해결된다.
반응형
'개발 > C#' 카테고리의 다른 글
Generic 타입(T)를 이용해 String과 JSON오브젝트 간 상호 변환하는 함수 (0) | 2024.05.27 |
---|---|
.NET 코어 App을 코드로 관리자 권한으로 실행하는 방법 (0) | 2024.04.29 |
.net6에서 process.start 할 때 오류가 나는 경우 (0) | 2024.02.27 |
Enum 사용 시 인덱스가 순차적이지 않을 때 처리방법 (0) | 2024.02.15 |
C#과 Node.js(TS)에서 각각 Sha256 Hash 같은 값 나오게 하기 (0) | 2024.02.15 |