728x90
반응형
ASP.NET Core에서 사용하는 ZLogger를 알아보자.
ZLogger
ZLogger는 .Net에서 제공하는 Logger보다 향상된 기능을 제공하는 라이브러리다.

그림과 같이
기존의 Logger는 오브젝트를 박싱하고, string을 UTF8로 인코딩하는데 추가적인 비용이 발생한다.
하지만, ZLogger를 이용하면, 이 과정을 줄일 수 있다.
- zero allocation string 빌더인 ZString을 사용하여 버퍼영역에 직접 UTF8로 작성함
- 로그 문자열을 콘솔에 출력하기 위한 ConsoleStream에 한번에 보내기 때문에 Boxing이 발생하지 않음
- 비동기적으로 작동하기 때문에 애플리케이션에 부하를 주지 않음
- ConsoleLogging 외에도 FileLogger, RollingFileLogger, StreamLogger를 제공함
- 기본적으로는 Microsoft.Extensions.Logging의 로깅 방법을 따름
설치하기
dotnet add package ZLogger
프로젝트 경로의 터미널에서 위 명령어를 입력해 설치해주자.
Program.cs
using ZLogger;
var builder = WebApplication.CreateBuilder(args);
// 기본 로거 설정 제외
builder.Logging.ClearProviders(); // 전체 제외 추천
// 로그 제공자 추가
builder.Logging.AddZLoggerConsole(); // 콘솔 출력
제공자 설정 이후, DI 사용을 통해, 원하는 클래스에서 로그를 출력해 메서드를 쓸 수 있다.
using Microsoft.Extensions.Logging;
using ZLogger;
public class SomeService(ILogger<MyClass> logger)
{
public void SomeServiceLog(string name, string city, int age)
{
logger.ZLogInformation($"Hello, {name} lives in {city} {age} years old.");
}
}728x90
반응형
'Study > GameServer' 카테고리의 다른 글
| [ASP.NET Core] 11. CloudStructures (0) | 2025.12.05 |
|---|---|
| [ASP.NET Core] 10. Redis (0) | 2025.12.05 |
| [ASP.NET Core] 09. SQLKata (0) | 2025.12.05 |
| [ASP.NET Core] 08. .NET Core에 MySQL 연결 (1) | 2025.12.04 |
| [ASP.NET Core] 07. API 서버간 통신 때 HttpClientFactory 사용하기 (0) | 2025.12.04 |