|
|
|
@ -77,42 +77,43 @@ async... Elapsed: 0.349851 2,858,358/sec
|
|
|
|
|
|
|
|
|
|
## Usage samples
|
|
|
|
|
|
|
|
|
|
#### Basic usage
|
|
|
|
|
```c++
|
|
|
|
|
#include "spdlog/spdlog.h"
|
|
|
|
|
int main()
|
|
|
|
|
{
|
|
|
|
|
spdlog::info("Welcome to spdlog!");
|
|
|
|
|
spdlog::error("Some error message with arg: {}", 1);
|
|
|
|
|
|
|
|
|
|
spdlog::warn("Easy padding in numbers like {:08d}", 12);
|
|
|
|
|
spdlog::critical("Support for int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}", 42);
|
|
|
|
|
spdlog::info("Support for floats {:03.2f}", 1.23456);
|
|
|
|
|
spdlog::info("Positional args are {1} {0}..", "too", "supported");
|
|
|
|
|
spdlog::info("{:<30}", "left aligned");
|
|
|
|
|
|
|
|
|
|
spdlog::set_level(spdlog::level::debug/ Set global log level to debug
|
|
|
|
|
spdlog::debug("This message should be displayed..");
|
|
|
|
|
|
|
|
|
|
// change log pattern
|
|
|
|
|
spdlog::set_pattern("[%H:%M:%S %z] [%n] [%^---%L---%$] [thread %t] %v");
|
|
|
|
|
|
|
|
|
|
// Compile time log levels
|
|
|
|
|
// define SPDLOG_ACTIVE_LEVEL to desired level
|
|
|
|
|
SPDLOG_TRACE("Some trace message with param {}", {});
|
|
|
|
|
SPDLOG_DEBUG("Some debug message");
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
#### create stdout/stderr logger object
|
|
|
|
|
```c++
|
|
|
|
|
#include "spdlog/spdlog.h"
|
|
|
|
|
#include "spdlog/sinks/stdout_color_sinks.h"
|
|
|
|
|
void stdout_example()
|
|
|
|
|
{
|
|
|
|
|
// create color multi threaded logger
|
|
|
|
|
auto console = spdlog::stdout_color_mt("console");
|
|
|
|
|
console->info("Welcome to spdlog!");
|
|
|
|
|
console->error("Some error message with arg: {}", 1);
|
|
|
|
|
|
|
|
|
|
auto err_logger = spdlog::stderr_color_mt("stderr");
|
|
|
|
|
err_logger->error("Some error message");
|
|
|
|
|
|
|
|
|
|
// Formatting examples
|
|
|
|
|
console->warn("Easy padding in numbers like {:08d}", 12);
|
|
|
|
|
console->critical("Support for int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}", 42);
|
|
|
|
|
console->info("Support for floats {:03.2f}", 1.23456);
|
|
|
|
|
console->info("Positional args are {1} {0}..", "too", "supported");
|
|
|
|
|
console->info("{:<30}", "left aligned");
|
|
|
|
|
|
|
|
|
|
auto console = spdlog::stdout_color_mt("console");
|
|
|
|
|
auto err_logger = spdlog::stderr_color_mt("stderr");
|
|
|
|
|
spdlog::get("console")->info("loggers can be retrieved from a global registry using the spdlog::get(logger_name)");
|
|
|
|
|
|
|
|
|
|
// Runtime log levels
|
|
|
|
|
spdlog::set_level(spdlog::level::info); // Set global log level to info
|
|
|
|
|
console->debug("This message should not be displayed!");
|
|
|
|
|
console->set_level(spdlog::level::trace); // Set specific logger's log level
|
|
|
|
|
console->debug("This message should be displayed..");
|
|
|
|
|
|
|
|
|
|
// Customize msg format for all loggers
|
|
|
|
|
spdlog::set_pattern("[%H:%M:%S %z] [%n] [%^---%L---%$] [thread %t] %v");
|
|
|
|
|
console->info("This an info message with custom format");
|
|
|
|
|
|
|
|
|
|
// Compile time log levels
|
|
|
|
|
// define SPDLOG_DEBUG_ON or SPDLOG_TRACE_ON
|
|
|
|
|
SPDLOG_TRACE(console, "Enabled only #ifdef SPDLOG_TRACE_ON..{} ,{}", 1, 3.23);
|
|
|
|
|
SPDLOG_DEBUG(console, "Enabled only #ifdef SPDLOG_DEBUG_ON.. {} ,{}", 1, 3.23);
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
---
|
|
|
|
|