diff --git a/README.md b/README.md index 8e85b9d6..5509ef30 100644 --- a/README.md +++ b/README.md @@ -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); } ``` ---