기본 콘텐츠로 건너뛰기

1월, 2025의 게시물 표시

[C#] Log 남기기

코드를 작성하다 보면 Log를 남겨 프로그램 오류나 이상 행동에 대한 분석을 해야 할 때가 있습니다. 이때 파일 이름, 함수 이름, 라인 넘버는 매우 중요한 부분입니다. C#에서는 이러한 정보들을 쉽게 얻을 수 있도록 CallerFilePath, CallerMemberName, CallerLineNumber라는 Attribute들을 제공하고 있습니다 각 Attribtue의 역할 CallerFileName : 호출 파일의 전체 경로 CallerMemberName : 호출 메서드나 속성의 이름 CallerLineNumber : 호출된 코드의 줄 번호 위 Attribute들을 사용하려면 아래의 Namespace가 추가해야 합니다. using System.Runtime.CompilerServices; 아래는 간단한 예제 코드입니다. public static class Logger { public static void Log(string message, [CallerFilePath] string filePath = "", [CallerMemberName] string memberName = "", [CallerLineNumber] int lineNumber = 0) { Console.WriteLine($"[{DateTime.Now}] {message}\nFile: {filePath}\nMember: {memberName}\nLine: {lineNumber}\n"); } } // 호출 코드 Logger.Log("An error occurred."); 위 코드를 실행을 하면 다음과 같은 결과가 출력됩니다. [ 2025 - 01 - 25 ] An error occurred. File: C:\Users\YourUserName\Projects\YourProject\Program.cs Member: M...