Repolode
Cysharp

Cysharp/ZLogger

Microsoft.Extensions.Logging 기반으로 UTF8 출력이 가능한 .NET 및 Unity용 무할당 텍스트·구조화 로거입니다.

스타
1,789
포크
130
열린 이슈
5
마지막 커밋
3일 전

어떤 프로젝트인가요?

ZLogger는 Microsoft.Extensions.Logging에 연결해 사용하는 .NET 및 Unity용 로깅 라이브러리입니다. 로그 메시지 문법으로 C# 문자열 보간을 사용하며, 콘솔, 파일, 스트림 및 사용자 지정 프로세서에 UTF8 형식으로 직접 출력합니다. 일반적인 문자열 기반 로거에서 발생하는 UTF16에서 UTF8로의 변환 비용을 줄여 줍니다.

일반 텍스트와 구조화된 JSON 또는 MessagePack 출력을 모두 지원하며, 매개변수 이름 지정, 객체를 JSON으로 덤프하기, 키 이름 및 타임스탬프 형식 사용자 지정 옵션을 제공합니다. 기본 제공 프로바이더로 Console, File, RollingFile, Stream 및 InMemory를 지원하며, 배치 프로세서를 사용하면 HTTP를 통해 로그를 전송할 수 있습니다. [ZLoggerMessage] 특성용 소스 생성기는 컴파일 시점에 로그 메서드를 생성하며, System.Text.Json 소스 생성을 통해 Native AOT도 지원합니다.

ZLogger는 .NET Standard 2.0 이상을 대상으로 하며, .NET 8 이상에서 최고의 성능을 발휘합니다.

핵심 기능

  • 01로그 메시지에 C# 문자열 보간을 사용하고, 매개변수를 구조화된 속성으로 캡처합니다.
  • 02UTF8 형식으로 직접 출력해 문자열 인코딩 오버헤드를 줄입니다.
  • 03일반 텍스트, JSON 및 MessagePack 포매터를 지원합니다.
  • 04Console, File, RollingFile, Stream 및 InMemory 출력 프로바이더를 제공합니다.
  • 05컴파일 시점에 ZLoggerMessage 로그 메서드를 생성하는 소스 생성기를 포함합니다.
  • 06표준 로깅 빌더를 통해 ASP.NET Core 및 Generic Host와 통합됩니다.

활용 사례

  • 컨테이너화된 .NET 서비스나 클라우드 네이티브 .NET 서비스에서 대량의 콘솔 출력을 로깅합니다.
  • 구조화된 JSON 로그를 파일이나 클라우드 로깅 파이프라인에 기록합니다.
  • .NET 애플리케이션에서 날짜 또는 크기 기준으로 파일을 순환하는 고속 로깅을 구현합니다.
  • 동일한 API를 사용해 Unity 프로젝트에서 로그를 기록합니다.

빠른 시작

  1. 1

    ZLogger NuGet 패키지를 설치합니다

    dotnet add package ZLogger
  2. 2

    ASP.NET Core 시작 시 기본 공급자를 지우고 ZLogger 콘솔 공급자를 추가합니다

포함된 컬렉션

토픽

#logging#dotnet#csharp#structured-logging#zero-allocation#utf8#source-generator

자주 묻는 질문

ZLogger은(는) 무엇인가요?
Microsoft.Extensions.Logging 기반으로 UTF8 출력이 가능한 .NET 및 Unity용 무할당 텍스트·구조화 로거입니다. ZLogger는 Microsoft.Extensions.Logging에 연결해 사용하는 .NET 및 Unity용 로깅 라이브러리입니다. 로그 메시지 문법으로 C# 문자열 보간을 사용하며, 콘솔, 파일, 스트림 및 사용자 지정 프로세서에 UTF8 형식으로 직접 출력합니다. 일반적인 문자열 기반 로거에서 발생하는 UTF16에서 UTF8로의 변환 비용을 줄여 줍니다.
ZLogger은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
ZLogger은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
ZLogger은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. ZLogger의 마지막 커밋은 2026년 11월 4일입니다.
ZLogger은(는) 어디에 사용할 수 있나요?
컨테이너화된 .NET 서비스나 클라우드 네이티브 .NET 서비스에서 대량의 콘솔 출력을 로깅합니다. 구조화된 JSON 로그를 파일이나 클라우드 로깅 파이프라인에 기록합니다. .NET 애플리케이션에서 날짜 또는 크기 기준으로 파일을 순환하는 고속 로깅을 구현합니다. 동일한 API를 사용해 Unity 프로젝트에서 로그를 기록합니다.
ZLogger는 어떻게 설치하나요?
ZLogger NuGet 패키지를 설치합니다: dotnet add package ZLogger ASP.NET Core 시작 시 기본 공급자를 지우고 ZLogger 콘솔 공급자를 추가합니다
ZLogger은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/Cysharp/ZLogger

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트