Programming/C/C++/C#

C# 호출된 위치 로그 남기기(CallStackLog)

휘탱 2018. 2. 2. 20:59

C# 로그 남길 때 콜스택 위치 추적 남기기

using System;
 
class Program {
    static void Main(string[] args)
    {
        Test();
    }

    static void Test()
    {
        CallStackLog();
    }

    static void CallStackLog()
    {
        var st = new System.Diagnostics.StackTrace(true);
        string callstack = "";
        foreach (var frame in st.GetFrames()) {
            callstack += string.Format($"파일명:{0}, 라인:{1}, 함수명:{2}\n",
                                        frame.GetFileName(),
                                        frame.GetFileLineNumber(),
                                        frame.GetMethod());
        }
        Console.WriteLine(callstack);
    }
}

결과 출력

파일명:C:\Program.cs, 라인:16, 함수명:Void CallStackLog()

파일명:C:\Program.cs, 라인:11, 함수명:Void Test()

파일명:C:\Program.cs, 라인:6, 함수명:Void Main(System.String[])

반응형