10 enum class Level { DEBUG, INFO, WARNING, CRITICAL };
11 enum class Domain { UNSPECIFIED, BOARD, SCHEMATIC, BLOCK, TOOL, CORE, CANVAS, IMP, IMPORT, VERSION };
15 static std::string level_to_string(Level level);
16 static std::string domain_to_string(Domain domain);
18 static void log_debug(
const std::string &message, Domain domain = Domain::UNSPECIFIED,
19 const std::string &detail =
"");
20 static void log_info(
const std::string &message, Domain domain = Domain::UNSPECIFIED,
21 const std::string &detail =
"");
22 static void log_warning(
const std::string &message, Domain domain = Domain::UNSPECIFIED,
23 const std::string &detail =
"");
24 static void log_critical(
const std::string &message, Domain domain = Domain::UNSPECIFIED,
25 const std::string &detail =
"");
29 Item(
uint64_t s, Level l,
const std::string &msg, Domain dom = Domain::UNSPECIFIED,
const std::string &det =
"")
30 : seq(s), level(l), message(msg), domain(dom), detail(det)
37 Domain domain = Domain::UNSPECIFIED;
41 typedef std::function<void(
const Item &it)> log_handler_t;
43 void log(Level level,
const std::string &message, Domain domain = Domain::UNSPECIFIED,
44 const std::string &detail =
"");
45 void set_log_handler(log_handler_t handler);
48 log_handler_t handler =
nullptr;
49 std::deque<Item> buffer;
Definition: logger.hpp:27
zip_uint64_t uint64_t
zip_uint64_t_t typedef.
Definition: zip.hpp:108