CLI11
spdlog
Our great sponsors
CLI11 | spdlog | |
---|---|---|
12 | 44 | |
3,087 | 22,231 | |
2.9% | - | |
8.5 | 8.9 | |
6 days ago | 18 days ago | |
C++ | C++ | |
GNU General Public License v3.0 or later | MIT |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
CLI11
-
C++ Game Utility Libraries: for Game Dev Rustaceans
Book: CLI11 book
-
Command line interface library
The most feature-rich C++ CLI library is CLI11. Other popular choices include Boost.ProgramOptions, argparse, cxxopts and others.
-
Create Elegant C++ Spatial Processing Pipelines in WebAssembly
CLI11 provides all the features you expect in a powerful command line parser, with a beautiful, minimal syntax and no dependencies beyond C++11. itk-wasm enhances CLI11 with a itk::wasm::Pipeline wrapper to support efficient execution in multiple Wasm contexts, scientific data structures, and lovely colorized help output đ„°.
-
CLI11 is making all the other options libraries look bad, does anyone have a comparison from experience?
Does anyone have feedback on the possible problems with CLI11 and comparisons to any other thing available in the wild not limited to the choices I tried before? Looks like a very well-thought out library according to its documentation: https://cliutils.github.io/CLI11/book/
-
Creating a CLI in C++
I'd recommend to use CLI11. I was baffled by how much it can do.
-
3 Ways To Parse Command Line Arguments in C++: Quick, Do-It-Yourself, Or Comprehensive
I use https://github.com/jarro2783/cxxopts.git or https://github.com/CLIUtils/CLI11, or if boost is involved anyway, boost.program_options.
-
Carregando dependĂȘncias em projetos C++ usando o CMake
get_dependency(spdlog "https://github.com/gabime/spdlog" v1.8.5) get_dependency(CLI11 "https://github.com/CLIUtils/CLI11" v1.9.1) get_dependency(GoogleTest "https://github.com/google/googletest" master)
-
cmdlime - possibly the least verbose command line parsing library for C++17
Maybe https://github.com/CLIUtils/CLI11? I really like this one and it looks like it supports TOML
-
Why no standard library support for command line parsing?
I found https://github.com/jarro2783/cxxopts to be useful and https://github.com/CLIUtils/CLI11 to be really helpful if you need an non-trivial interface.
spdlog
-
Show HN: Logfmtxx â Header only C++23 structured logging library using logfmt
Why a new lib instead of using or contributing to an existing one as spdlog?
https://github.com/gabime/spdlog
-
C++ Game Utility Libraries: for Game Dev Rustaceans
GitHub repo: gabime/spdlog
-
Easy logging A logging system for c++20
SpdLog https://github.com/gabime/spdlog
- Blackbox library for embedded systems
- cpp macros
-
Compiled logging library suggestion(s)?
The usual recommendation when logging libraries are brought up is spdlog, which is however header-only. It's available on Conan-center.
-
What a good debugger can do
* Aha! In digging up the docs for NDC, I found this[1], which does mention a book for your reading list: "Patterns for Logging Diagnostic Messages" part of the book "Pattern Languages of Program Design 3" edited by Martin et al.
[1] https://github.com/gabime/spdlog
- Does spdlog::get()->critical throw?
-
CMake question
FetchContent_Declare( spdlog GIT_REPOSITORY https://github.com/gabime/spdlog GIT_TAG origin/v1.x ) FetchContent_MakeAvailable(spdlog)
-
I want to slightly change the behavior of the std::cout
Typically, you'd use a logging library to handle stuff like this. I personally like spdlog. You use different logger functions (info, warn, error) and depending on what level you have set for the logger (or globally) some of the functions become no-ops. E.g. When not running in verbose mode all spdlog::info() do nothing.
What are some alternatives?
jarro2783/cxxopts - Lightweight C++ command line option parser
glog - C++ implementation of the Google logging module
clipp - easy to use, powerful & expressive command line argument parsing for modern C++ / single header / usage & doc generation
Boost.Log - Boost Logging library
gflags - The gflags package contains a C++ library that implements commandline flags processing. It includes built-in support for standard types such as string and the ability to define flags in the source file in which they are used. Online documentation available at:
easyloggingpp - C++ logging library. It is extremely powerful, extendable, light-weight, fast performing, thread and type safe and consists of many built-in features. It provides ability to write logs in your own customized format. It also provide support for logging your classes, third-party libraries, STL and third-party containers etc.
args - A simple header-only C++ argument parser library. Supposed to be flexible and powerful, and attempts to be compatible with the functionality of the Python standard argparse library (though not necessarily the API).
G3log - G3log is an asynchronous, "crash safe", logger that is easy to use with default logging sinks or you can add your own. G3log is made with plain C++14 (C++11 support up to release 1.3.2) with no external libraries (except gtest used for unit tests). G3log is made to be cross-platform, currently running on OSX, Windows and several Linux distros. See Readme below for details of usage.
Boost.Program_options - Boost.org program_options module
plog - Portable, simple and extensible C++ logging library
Vcpkg - C++ Library Manager for Windows, Linux, and MacOS
log4cplus - log4cplus is a simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. It is modelled after the Java log4j API.