Windows

[C#] Debug Log

컨텐츠 정보

본문

using System.Diagnostics;

static class Program
{
    static void Main()
    {
Debug.WriteLine("Message is written");
    }
}


Debug.Indent() ; 들여쓰기 시작.
Dubug.WriteLine(".....");
Debug.Unindent() ; 들여쓰기 종료.

// 1. DefaultTraceListener 사용. VS Output 창에 로깅
        Trace.WriteLine("Default Logging");

// 2. 콘솔에 로깅
Trace.Listeners.Clear();
Trace.Listeners.Add(new ConsoleTraceListener());
        Trace.WriteLine("Console Log");

// 3. 파일에 로깅
        Trace.Listeners.Clear();
        Trace.Listeners.Add(new TextWriterTraceListener("Logs.txt"));
        Trace.AutoFlush = true;
        Trace.WriteLine("File Log");
        //Trace.Flush();  // AutoFlush 하지 않으면 수동으로 Flush 할 것

// 4. EventLog에 로깅
        Trace.Listeners.Clear();
        Trace.Listeners.Add(new EventLogTraceListener("Application"));
        Trace.WriteLine("My Event Log");

// 5. 콘솔과 파일에 동시 로깅
        Trace.Listeners.Clear();
        Trace.Listeners.Add(new ConsoleTraceListener());
        Trace.Listeners.Add(new TextWriterTraceListener("Logs.txt"));
        Trace.AutoFlush = true;
        // Trace*() 메서드들 사용
        Trace.TraceInformation("My Info");
        Trace.TraceWarning("My Warning");
        Trace.TraceError("My Error");




using System;
using System.Diagnostics;

class Program
{
    // TraceSource 생성
    private static TraceSource traceSource = new TraceSource("MyTrace");

    static void Main(string[] args)
    {
        // TraceSource 사용
        traceSource.TraceEvent(TraceEventType.Start, 0, "Main Start");

        for (int i = 1; i <= 10; i++)
        {
            Console.WriteLine(i);
            traceSource.TraceInformation("msg#" + i.ToString());
        }

        traceSource.TraceEvent(TraceEventType.Stop, 0, "Main End");
        traceSource.Flush();
    }
}

/* App.config */
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.diagnostics>
        <sources>
            <source name="MyTrace" switchValue="All">
                <listeners>
                    <add name="fileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="Logs.txt" />
                </listeners>
            </source>
        </sources>
    </system.diagnostics>
</configuration>

관련자료

댓글 0
등록된 댓글이 없습니다.
알림 0