Updated example
This commit is contained in:
parent
877eee408e
commit
0243882238
@ -10,6 +10,8 @@ void stdout_logger_example();
|
|||||||
void basic_example();
|
void basic_example();
|
||||||
void rotating_example();
|
void rotating_example();
|
||||||
void daily_example();
|
void daily_example();
|
||||||
|
void env_cfg_example();
|
||||||
|
void argv_cfg_example(int, char*[]);
|
||||||
void async_example();
|
void async_example();
|
||||||
void binary_example();
|
void binary_example();
|
||||||
void trace_example();
|
void trace_example();
|
||||||
@ -19,17 +21,9 @@ void err_handler_example();
|
|||||||
void syslog_example();
|
void syslog_example();
|
||||||
|
|
||||||
#include "spdlog/spdlog.h"
|
#include "spdlog/spdlog.h"
|
||||||
#include "spdlog/cfg/argv.h"
|
|
||||||
#include "spdlog/cfg/env.h"
|
|
||||||
|
|
||||||
int main(int args, char *argv[])
|
int main(int args, char *argv[])
|
||||||
{
|
{
|
||||||
// optionally init log levels from argv
|
|
||||||
spdlog::cfg::load_argv(args, argv);
|
|
||||||
|
|
||||||
// optionally init load levels from an environment variable (SPDLOG_LEVEL)
|
|
||||||
spdlog::cfg::load_env();
|
|
||||||
|
|
||||||
spdlog::info("Welcome to spdlog version {}.{}.{} !", SPDLOG_VER_MAJOR, SPDLOG_VER_MINOR, SPDLOG_VER_PATCH);
|
spdlog::info("Welcome to spdlog version {}.{}.{} !", SPDLOG_VER_MAJOR, SPDLOG_VER_MINOR, SPDLOG_VER_PATCH);
|
||||||
spdlog::warn("Easy padding in numbers like {:08d}", 12);
|
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::critical("Support for int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}", 42);
|
||||||
@ -37,15 +31,12 @@ int main(int args, char *argv [])
|
|||||||
spdlog::info("Positional args are {1} {0}..", "too", "supported");
|
spdlog::info("Positional args are {1} {0}..", "too", "supported");
|
||||||
spdlog::info("{:>8} aligned, {:<8} aligned", "right", "left");
|
spdlog::info("{:>8} aligned, {:<8} aligned", "right", "left");
|
||||||
|
|
||||||
|
|
||||||
// Runtime log levels
|
// Runtime log levels
|
||||||
spdlog::set_level(spdlog::level::info); // Set global log level to info
|
spdlog::set_level(spdlog::level::info); // Set global log level to info
|
||||||
spdlog::debug("This message should not be displayed!");
|
spdlog::debug("This message should not be displayed!");
|
||||||
spdlog::set_level(spdlog::level::trace); // Set specific logger's log level
|
spdlog::set_level(spdlog::level::trace); // Set specific logger's log level
|
||||||
spdlog::debug("This message should be displayed..");
|
spdlog::debug("This message should be displayed..");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Customize msg format for all loggers
|
// Customize msg format for all loggers
|
||||||
spdlog::set_pattern("[%H:%M:%S %z] [%^%L%$] [thread %t] %v");
|
spdlog::set_pattern("[%H:%M:%S %z] [%^%L%$] [thread %t] %v");
|
||||||
spdlog::info("This an info message with custom format");
|
spdlog::info("This an info message with custom format");
|
||||||
@ -76,6 +67,12 @@ int main(int args, char *argv [])
|
|||||||
err_handler_example();
|
err_handler_example();
|
||||||
trace_example();
|
trace_example();
|
||||||
|
|
||||||
|
// Init levels from SPDLOG_LEVEL env variable
|
||||||
|
env_cfg_example();
|
||||||
|
|
||||||
|
// Init levels from args (example.exe "SPDLOG_LEVEL=trace,l2=info,l3=off")
|
||||||
|
argv_cfg_example(args, argv);
|
||||||
|
|
||||||
// Flush all *registered* loggers using a worker thread every 3 seconds.
|
// Flush all *registered* loggers using a worker thread every 3 seconds.
|
||||||
// note: registered loggers *must* be thread safe for this to work correctly!
|
// note: registered loggers *must* be thread safe for this to work correctly!
|
||||||
spdlog::flush_every(std::chrono::seconds(3));
|
spdlog::flush_every(std::chrono::seconds(3));
|
||||||
@ -83,6 +80,7 @@ int main(int args, char *argv [])
|
|||||||
// Apply some function on all registered loggers
|
// Apply some function on all registered loggers
|
||||||
spdlog::apply_all([&](std::shared_ptr<spdlog::logger> l) { l->info("End of example."); });
|
spdlog::apply_all([&](std::shared_ptr<spdlog::logger> l) { l->info("End of example."); });
|
||||||
|
|
||||||
|
|
||||||
// Release all spdlog resources, and drop all loggers in the registry.
|
// Release all spdlog resources, and drop all loggers in the registry.
|
||||||
// This is optional (only mandatory if using windows + async log).
|
// This is optional (only mandatory if using windows + async log).
|
||||||
spdlog::shutdown();
|
spdlog::shutdown();
|
||||||
@ -127,6 +125,19 @@ void daily_example()
|
|||||||
auto daily_logger = spdlog::daily_logger_mt("daily_logger", "logs/daily.txt", 2, 30);
|
auto daily_logger = spdlog::daily_logger_mt("daily_logger", "logs/daily.txt", 2, 30);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#include "spdlog/cfg/env.h"
|
||||||
|
void env_cfg_example()
|
||||||
|
{
|
||||||
|
// set levels from SPDLOG_LEVEL env variable
|
||||||
|
spdlog::cfg::load_env();
|
||||||
|
}
|
||||||
|
|
||||||
|
#include "spdlog/cfg/argv.h"
|
||||||
|
void argv_cfg_example(int args, char *argv[])
|
||||||
|
{
|
||||||
|
spdlog::cfg::load_argv(args, argv);
|
||||||
|
}
|
||||||
|
|
||||||
#include "spdlog/async.h"
|
#include "spdlog/async.h"
|
||||||
void async_example()
|
void async_example()
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user