Orion
high-rate readout
logger.hpp
1 #pragma once
2 
3 #include "itk/logger.hpp"
4 
5 #include <iostream>
6 #include <string>
7 
8 
9 namespace itk::logger {
10 
11  class CoreLogger : public intf::CoreLogger {
12  public:
13 
14  CoreLogger(const std::string& log_name) : log_name(log_name) {}
15 
16  void log_msg(log_level_t level, const std::string &msg) override {
17  if (level >= log_level) {
18  printf(" %-16s ā”ƒ %-8sā”ƒ %s\n", log_name.c_str(), log_level_string(level).c_str(), msg.c_str());
19  //std::cout << log_name << " | " << log_level_string(level) << " | " << msg << std::endl;
20  }
21  }
22 
23  bool should_log(log_level_t level) const override { return level >= log_level; }
24 
25  void set_level(log_level_t level) override { log_level = level; }
26  log_level_t get_level() const override { return log_level; }
27 
28  void set_pattern(const std::string& pattern) override {}
29 
30  protected:
31  std::string log_name;
32  log_level_t log_level = LOG_LEVEL_INFO;
33  };
34 
35 } // itk::logger
Definition: logger.hpp:11
void log_msg(log_level_t level, const std::string &msg) override
Log a message.
Definition: logger.hpp:16
log_level_t get_level() const override
Properties.
Definition: logger.hpp:26
void set_pattern(const std::string &pattern) override
Set logger message pattern.
Definition: logger.hpp:28
void set_level(log_level_t level) override
Set logging level.
Definition: logger.hpp:25
bool should_log(log_level_t level) const override
Check if message with specified log level will be logged.
Definition: logger.hpp:23
CoreLogger interface, includes only basic logging functionality.
Definition: logger.hpp:59
Logger definitions.
log_level_t
Logger level enumeration.
Definition: logger.hpp:17
std::string log_level_string(log_level_t level)
Logger level to text conversion.
Definition: logger.hpp:40