즐겁게 개발을...

개발보다 게임이 더 많이 올라오는 것 같은...

개발/C#

이벤트 로그 작성하는 방법

다물칸 2024. 4. 25. 10:20
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" 패키지를 설치하면 해결된다.

반응형