spdlog
by
gabime

Description: Fast C++ logging library.

View on GitHub ↗

Summary Information

Updated 37 minutes ago
Added to GitGenius on March 16th, 2026
Created on November 1st, 2014
Open Issues & Pull Requests: 52 (+0)
Number of forks: 5,309
Total Stargazers: 29,147 (+0)
Total Subscribers: 511 (+0)

Issue Activity (beta)

Issue API unavailable.

Repository Insights (GitGenius)

Median issue/PR response: 1.5 hours
Mean response time: 260.8 days
90th percentile: 1211.4 days
Tracked items: 371

Most active contributors

Detailed Description

spdlog is a fast C++ logging library designed for high-performance applications requiring efficient message output and diagnostics. Written in C++, the library is classified by GitGenius as a high-performance, thread-safe logging solution with support for asynchronous operations, multiple log sinks, and customizable message formatting. The repository is maintained primarily by gabime with significant contributions from tt4g, who together account for the majority of development activity tracked across 317 and 494 events respectively.

The library offers two deployment models: a header-only version that requires only C++11 compiler support and copying the include folder into a build tree, and a compiled version that provides faster compilation times and is recommended for production use. This flexibility allows developers to choose between ease of integration and build performance based on their project requirements. spdlog supports an extensive range of platforms including Linux variants, FreeBSD, OpenBSD, Solaris, AIX, Windows with MSVC 2013 and later, Cygwin, macOS with Clang 3.5 and later, and Android.

The library's feature set encompasses very fast synchronous and asynchronous logging modes, with the asynchronous mode providing optional non-blocking operation for performance-critical applications. spdlog integrates with the fmt library for feature-rich formatting capabilities and supports custom formatting patterns. It provides multiple threading models including multi-threaded and single-threaded loggers, with runtime and compile-time log level configuration. The library includes numerous built-in log targets such as rotating log files, daily log files, console logging with color support, syslog, Windows event log, Windows debugger output, and Qt widget integration. Developers can extend spdlog with custom log targets through its extensible sink architecture.

Advanced features include backtrace support for storing debug messages in a ring buffer for later inspection, log filtering with dynamic level modification, environment variable and command-line argument support for log level configuration, periodic flush operations, stopwatch functionality, binary data logging in hexadecimal format, and user-defined callbacks for log events. The library supports multi-sink loggers with different formats and levels per sink, mapped diagnostic context, and custom error handlers.

Package manager availability is extensive, with spdlog packaged in Debian, Homebrew, MacPorts, FreeBSD, Fedora, Gentoo, Arch Linux, openSUSE, ALT Linux, vcpkg, conan, conda, and build2 ecosystems, making integration straightforward across diverse development environments. GitGenius activity analysis shows a median issue and pull request response latency of 1.5 hours across 371 tracked items, with enhancement requests being the most common issue type at 17 occurrences. The repository maintains connections with other significant projects including llvm/llvm-project, ray-project/kuberay, and mesonbuild/meson through overlapping contributor networks, indicating its importance within the broader C++ development ecosystem.

spdlog
by
gabimegabime/spdlog

Repository Details

Fetching additional details & charts...