6#include <unordered_map>
13 const string& type =
"",
67 std::unordered_map<std::string, appender_factory::ptr> appender_factory_map;
68 std::unordered_map<std::string, appender::ptr> appender_map;
69 std::unordered_map<std::string, logger> logger_map;
std::shared_ptr< appender_factory > ptr
wraps boost::filesystem::path to provide platform independent path manipulation.
stores null, int64, uint64, double, bool, string, std::vector<variant>, and variant_object's.
std::optional< fc::string > ostring
void set_thread_name(const string &name)
const string & get_thread_name()
void set_os_thread_name(const string &name)
void configure_logging(const fc::path &log_config)
#define FC_REFLECT(TYPE, MEMBERS)
Specializes fc::reflector for TYPE.
appender_config(const string &name="", const string &type="", variant args=variant())
static void initialize_appenders(boost::asio::io_service &ios)
static logger get_logger(const fc::string &name)
static bool configure_logging(const logging_config &l)
static void update_logger(const fc::string &name, logger &log)
static bool register_appender(const fc::string &type)
std::vector< string > appenders
std::optional< log_level > level
if not set, then parents level is used.
logger_config(const fc::string &name="")
bool additivity
if any appenders are sepecified, then parent's appenders are not set.
std::vector< logger_config > loggers
std::vector< string > includes
static logging_config default_config()
std::vector< appender_config > appenders