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
ZLogger NuGet 패키지를 설치합니다
dotnet add package ZLogger - 2
ASP.NET Core 시작 시 기본 공급자를 지우고 ZLogger 콘솔 공급자를 추가합니다
포함된 컬렉션
토픽
자주 묻는 질문
- 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 통계는 매일 갱신됩니다.
관련 프로젝트
소스 생성 직렬화를 제공하는, .NET과 Unity용 고성능·저할당 C# YAML 1.2 라이브러리입니다.
Go용 빠르고 구조화된 레벨 로깅 라이브러리로, 할당이 없는 Logger와 유연한 SugaredLogger API를 제공합니다.
표준 logging 설정 대신 단일 logger로 파일 로테이션, 컬러 출력, 구조화된 로그를 제공하는 Python 로깅 라이브러리입니다.
터미널에서 보기 좋은 출력을 제공하고, 필드 우선 구조의 JSON과 비밀 정보 마스킹을 지원하며 런타임 의존성이 없는 범용 TypeScript 및 JavaScript 로거입니다.
확장 가능한 포매터와 훅을 제공하는 Go용 구조화 로거로, API 호환성을 갖췄으며 현재는 유지보수 모드입니다.