본문 바로가기

C#

C# 간편한 로그 라이브러리(Serilog)

반응형

간편한 로그 Serilog

  • Serilog.AspNetCore 라이브러리 사용
    • Serilog, Serilog.Sinks.FIle, Serilog.Sinks.Console 각각 설치해야하는데 한 번에 설치를 위해
    • blazor 웹 개발에서도 사용 가능
  • C# 라이브러리 설치 방법
 

C# 라이브러리 설치(NuGet 패키지 관리자)

NuGet 패키지 관리자를 사용한 설치 Visual Studio에서 NuGet 패키지 관리자 사용 Visual Studio를 열고, 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭 "NuGet 패키지 관리..."를 선택 패키지

lightgg.tistory.com

 


Serilog 초기화

  • 콘솔, 윈폼, blazor, ... 등등 초기화
  • 로그 레벨(Verbose < Debug < Information < Warning < Error < Fatal)
  • MinimumLevel.Debug()를 설정하면 Debug, Information, Warning, Error, Fatal 레벨의 로그가 모두 기록
  • WriteTo.Console()를 설정하면 로그 메시지 호출시 콘솔 창에 보임
  • WriteTo.File()을 설정하면 로그 메시지 호출시 log_20240107.txt 파일로 로그가 남음
using Serilog;


static void Main()
{
	// 콘솔, 윈폼 초기화
	Log.Logger = new LoggerConfiguration()
		.MinimumLevel.Debug()
		.WriteTo.Console()
		.WriteTo.File($"logs/log_.txt", rollingInterval: RollingInterval.Day)
		.CreateLogger();
}

 

using Serilog;

// blazor, asp.net 초기화

// Serilog 구성
Log.Logger = new LoggerConfiguration()
    .WriteTo.Console()
    .WriteTo.File("logs/log_.txt", rollingInterval: RollingInterval.Day)
    .CreateLogger();
    
// 기본 로거를 Serilog로 설정
builder.Host.UseSerilog();

// 앱 구성
var app = builder.Build();

// ...

app.Run();

Serilog 사용법

  • Serilog 초기화 끝나면 로그를 사용할 모든 xxx.cs 파일에 using Serilog; 상단에 입력
  • 로그 메시지 호출 > Log.Information("정보 로그"), Log.Warning("경고 로그"), Log.Error("오류 로그")
Log.Information($"정보 로그");
Log.Warning($"경고 로그");
Log.Error($"오류 로그");

 

 

반응형