기존 C++ 코드의 Python 바인딩을 만드는 데 주로 사용하는, C++ 타입과 함수를 Python에 노출하는 헤더 전용 C++11 라이브러리입니다.
gabime/spdlog
포맷 출력과 비동기 모드를 지원하고 파일 순환, 콘솔, syslog 등 다양한 싱크로 로그를 기록하는 고성능 C++ 로깅 라이브러리입니다.
- 스타
- 29,703
- 포크
- 5,341
- 열린 이슈
- 58
- 마지막 커밋
- 18시간 전
어떤 프로젝트인가요?
spdlog는 애플리케이션에서 형식이 지정된 로그 메시지를 다양한 대상으로 출력할 수 있는 C++ 로깅 라이브러리입니다. 헤더 전용 라이브러리로 사용하거나 CMake로 컴파일할 수 있으며, 메시지 포맷팅에는 fmt 라이브러리를 사용합니다.
로거는 순환 파일, 일별 파일, 컬러 콘솔 출력, syslog, Windows 이벤트 로그, Windows 디버거, Qt 위젯에 로그를 기록할 수 있습니다. 로그 레벨은 런타임이나 컴파일 시점에 변경할 수 있으며, 명령줄 인수나 환경 변수에서 불러올 수도 있습니다. 선택 사항인 비동기 모드는 출력 작업을 백그라운드 스레드 풀로 넘기며, 백트레이스 버퍼는 최근 디버그 메시지를 보관해 오류가 발생했을 때 덤프할 수 있도록 합니다.
Linux, BSD 계열, Solaris, AIX, Windows, macOS, Android를 지원하며, 널리 사용되는 여러 패키지 관리자에서도 설치할 수 있습니다.
핵심 기능
- 01헤더 전용 또는 CMake로 컴파일하는 방식으로 사용 가능
- 02fmt 기반 메시지 포맷팅과 사용자 지정 패턴 및 사용자 정의 타입 지원
- 03순환 파일, 일별 파일, 콘솔, syslog, Windows 이벤트 로그 싱크
- 04백그라운드 스레드 풀을 사용하는 비동기 로깅
- 05환경 변수나 argv에서 불러올 수 있는 런타임 및 컴파일 시점 로그 레벨 제어
- 06필요할 때 최근 디버그 메시지를 덤프할 수 있는 백트레이스 버퍼
활용 사례
- C++ 서버나 데스크톱 애플리케이션에 구조화된 레벨별 로깅 추가
- 장시간 실행되는 서비스에서 순환 파일에 로그 기록
- 비동기 로거로 대량의 로그를 처리해 요청 스레드에 미치는 영향 최소화
- 시스템 서비스의 로그를 syslog 또는 Windows 이벤트 로그로 전달
빠른 시작
- 1
저장소를 클론합니다
git clone https://github.com/gabime/spdlog.git - 2
디렉터리로 이동해 빌드 폴더를 만듭니다
cd spdlog && mkdir build && cd build - 3
CMake로 구성하고 빌드합니다
cmake .. && cmake --build .
사용 전 알아둘 점
- 메타데이터에 라이선스가 명확히 표시되어 있지 않으므로 사용하기 전에 저장소의 라이선스 파일을 확인하세요.
포함된 컬렉션
토픽
자주 묻는 질문
- spdlog은(는) 무엇인가요?
- 포맷 출력과 비동기 모드를 지원하고 파일 순환, 콘솔, syslog 등 다양한 싱크로 로그를 기록하는 고성능 C++ 로깅 라이브러리입니다. spdlog는 애플리케이션에서 형식이 지정된 로그 메시지를 다양한 대상으로 출력할 수 있는 C++ 로깅 라이브러리입니다. 헤더 전용 라이브러리로 사용하거나 CMake로 컴파일할 수 있으며, 메시지 포맷팅에는 fmt 라이브러리를 사용합니다.
- spdlog은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- spdlog은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- spdlog은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. spdlog의 마지막 커밋은 2026년 10월 24일입니다.
- spdlog은(는) 어디에 사용할 수 있나요?
- C++ 서버나 데스크톱 애플리케이션에 구조화된 레벨별 로깅 추가 장시간 실행되는 서비스에서 순환 파일에 로그 기록 비동기 로거로 대량의 로그를 처리해 요청 스레드에 미치는 영향 최소화 시스템 서비스의 로그를 syslog 또는 Windows 이벤트 로그로 전달
- spdlog는 어떻게 설치하나요?
- 저장소를 클론합니다: git clone https://github.com/gabime/spdlog.git 디렉터리로 이동해 빌드 폴더를 만듭니다: cd spdlog && mkdir build && cd build CMake로 구성하고 빌드합니다: cmake .. && cmake --build .
- spdlog은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/gabime/spdlog
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
블로킹 소켓 I/O로 HTTP/HTTPS 서버와 클라이언트를 구축할 수 있는 C++11 단일 헤더 라이브러리입니다.
문자열에서 float, double, 정수 값을 빠르고 정확하게 파싱하는 헤더 전용 C++ 라이브러리로, from_chars를 바로 대체해 사용할 수 있습니다.
포맷과 I/O를 백그라운드 스레드로 미루는 초저지연 비동기 C++17 로깅 및 메트릭 라이브러리입니다.
C++ 코드에서 STL과 비슷한 문법으로 JSON을 파싱하고 생성·조작·직렬화할 수 있는 헤더 전용 C++11 라이브러리입니다.
Windows, macOS, Linux에서 라이브러리를 설치하고 빌드할 수 있는 Microsoft의 무료 오픈 소스 C/C++ 패키지 매니저입니다.