Very fast, header only, C++ logging library. [![Build Status](https://travis-ci.org/gabime/spdlog.svg?branch=master)](https://travis-ci.org/gabime/spdlog) [![Build status](https://ci.appveyor.com/api/projects/status/d2jnxclg20vd0o50?svg=true)](https://ci.appveyor.com/project/gabime/spdlog)
Very fast, header only/statically compiled, C++ logging library. [![Build Status](https://travis-ci.org/gabime/spdlog.svg?branch=master)](https://travis-ci.org/gabime/spdlog) [![Build status](https://ci.appveyor.com/api/projects/status/d2jnxclg20vd0o50?svg=true)](https://ci.appveyor.com/project/gabime/spdlog)
## Install
## Install
### Header only version
#### Just copy the headers:
* Copy the source [folder](https://github.com/gabime/spdlog/tree/v1.x/include/spdlog) to your build tree and use a C++11 compiler.
#### Or use your favorite package manager:
### compiled version (recommended)
spdlog now supports compiling as a static lib for much faster compile times.
* Copy and add [src/spdlog.cpp](https://github.com/gabime/spdlog/tree/v1.x/src/spdlog.cpp) to your build.
* Pass the `-DSPDLOG_COMPILED_LIB` to the compiler (and -lspdlog to the linker)
* Homebrew: `brew install spdlog`
* FreeBSD: `cd /usr/ports/devel/spdlog/ && make install clean`
* Fedora: `yum install spdlog`
* Gentoo: `emerge dev-libs/spdlog`
* Arch Linux: `yaourt -S spdlog-git`
* vcpkg: `vcpkg install spdlog`
Or use CMake:
* Build `libspdlog.a`: ```cmake ..```
* Use it ```target_link_libraries(example spdlog::spdlog)```
* see [example](https://github.com/gabime/spdlog/tree/v1.x/include/spdlog/example/CMakeLists.txt)
## Platforms
* Linux, FreeBSD, OpenBSD, Solaris, AIX
...
...
@@ -25,6 +26,14 @@ Very fast, header only, C++ logging library. [![Build Status](https://travis-ci.
* macOS (clang 3.5+)
* Android
## Package managers:
* Homebrew: `brew install spdlog`
* FreeBSD: `cd /usr/ports/devel/spdlog/ && make install clean`
* Fedora: `yum install spdlog`
* Gentoo: `emerge dev-libs/spdlog`
* Arch Linux: `yaourt -S spdlog-git`
* vcpkg: `vcpkg install spdlog`
## Features
* Very fast (see [benchmarks](#benchmarks) below).
* Headers only, just copy and use.
...
...
@@ -42,7 +51,7 @@ Very fast, header only, C++ logging library. [![Build Status](https://travis-ci.
* Severity based filtering - threshold levels can be modified in runtime as well as in compile time.
* Binary data logging.
## Benchmarks
Below are some [benchmarks](https://github.com/gabime/spdlog/blob/v1.x/bench/bench.cpp) done in Ubuntu 64 bit, Intel i7-4770 CPU @ 3.40GHz