35#include <spdlog/logger.h>
37#include <pdi/pdi_fwd.h>
38#include <pdi/paraconf_wrapper.h>
46 std::shared_ptr<spdlog::logger> m_logger;
49 std::vector<std::reference_wrapper<Logger>> m_default_pattern_observers;
52 std::vector<std::string> m_pattern_blocks;
55 std::string m_pattern =
"[%T][%n] *** %^%l%$: %v";
58 bool m_pattern_from_config =
false;
64 Logger* m_parent_logger =
nullptr;
75 Logger(
const std::string& logger_name, PC_tree_t config, spdlog::level::level_enum
level = spdlog::level::info);
88 Logger(
Logger& parent_logger,
const std::string& logger_name, PC_tree_t config);
95 void setup(
const std::string& logger_name, PC_tree_t config, spdlog::level::level_enum
level = spdlog::level::info);
102 void setup(
Logger& parent_logger,
const std::string& logger_name, PC_tree_t config);
156 void level(spdlog::level::level_enum log_level);
161 spdlog::level::level_enum
level()
const;
184 template <
typename... Args>
185 void trace(fmt::format_string<Args...> fmt, Args&&... args)
187 m_logger->trace(fmt, std::forward<Args>(args)...);
194 template <
typename... Args>
195 void debug(fmt::format_string<Args...> fmt, Args&&... args)
197 m_logger->debug(fmt, std::forward<Args>(args)...);
204 template <
typename... Args>
205 void info(fmt::format_string<Args...> fmt, Args&&... args)
207 m_logger->info(fmt, std::forward<Args>(args)...);
214 template <
typename... Args>
215 void warn(fmt::format_string<Args...> fmt, Args&&... args)
217 m_logger->warn(fmt, std::forward<Args>(args)...);
224 template <
typename... Args>
225 void error(fmt::format_string<Args...> fmt, Args&&... args)
227 m_logger->error(fmt, std::forward<Args>(args)...);
void error(fmt::format_string< Args... > fmt, Args &&... args)
Writes error level message.
Definition logger.h:225
const std::string & pattern() const
Returns pattern of the logger.
void trace(fmt::format_string< Args... > fmt, Args &&... args)
Writes trace level message.
Definition logger.h:185
void setup(Logger &parent_logger, const std::string &logger_name, PC_tree_t config)
Sets up the logger with parent logger.
void level(spdlog::level::level_enum log_level)
Sets logger level.
void default_pattern(const std::string &pattern)
Changes default pattern of the logger (won't be updated if current pattern is from config).
void debug(fmt::format_string< Args... > fmt, Args &&... args)
Writes debug level message.
Definition logger.h:195
void global_pattern(const std::string &pattern)
Changes pattern of the global logger.
Logger(Logger &parent_logger, const std::string &logger_name, PC_tree_t config)
Creates new logger with parent logger.
void evaluate_global_pattern(Context &ctx) const
Evaluate global pattern.
Logger(const std::string &logger_name, PC_tree_t config, spdlog::level::level_enum level=spdlog::level::info)
Creates new logger.
void add_pattern_global_block(const std::string &block)
Add new element to default pattern of the global logger.
void add_pattern_block(const std::string &block)
Add new element to default pattern.
void warn(fmt::format_string< Args... > fmt, Args &&... args)
Writes warning level message.
Definition logger.h:215
void info(fmt::format_string< Args... > fmt, Args &&... args)
Writes info level message.
Definition logger.h:205
spdlog::level::level_enum level() const
Returns level of the logger.
void global_level(spdlog::level::level_enum log_level)
Changes level of the global logger.
void setup(const std::string &logger_name, PC_tree_t config, spdlog::level::level_enum level=spdlog::level::info)
Sets up the logger.
void pattern(const std::string &pattern)
Changes pattern of the logger.
Logger()
Creates new empty logger.
void evaluate_pattern(Context &ctx) const
Evaluate pattern.
std::shared_ptr< spdlog::logger > real_logger()
Returns real spdlog logger.
Definition array_datatype.h:38