26#ifndef MYSQL_HARNESS_LOGGER_LOGGER_INCLUDED 
   27#define MYSQL_HARNESS_LOGGER_LOGGER_INCLUDED 
   29#include "harness_export.h" 
   58  void attach_handler(std::string name);
 
   59  void detach_handler(std::string name, 
bool handler_must_exist = 
true);
 
   62  void lazy_handle(
LogLevel record_level,
 
   63                   std::function<
Record()> record_creator) 
const;
 
   77  bool is_handled(
LogLevel level) 
const;
 
   83    precision_ = precision;
 
  101  void debug(std::invocable 
auto producer)
 const {
 
  106  void info(std::invocable 
auto producer)
 const {
 
  111  void warning(std::invocable 
auto producer)
 const {
 
  116  void system(std::invocable 
auto producer)
 const {
 
  121  void note(std::invocable 
auto producer)
 const {
 
  126  void error(std::invocable 
auto producer)
 const {
 
  136  bool init_logger() 
const;
 
  139  mutable std::optional<mysql_harness::logging::Logger> 
logger_;
 
  140  mutable std::atomic<bool> logger_ready_{
false};
 
void debug(const std::string &msg) const
Definition: logger.h:104
 
void warning(std::invocable auto producer) const
Definition: logger.h:111
 
DomainLogger(std::string domain)
Definition: logger.h:99
 
void info(const std::string &msg) const
Definition: logger.h:109
 
std::mutex logger_mtx_
Definition: logger.h:138
 
void info(std::invocable auto producer) const
Definition: logger.h:106
 
void note(const std::string &msg) const
Definition: logger.h:124
 
void system(std::invocable auto producer) const
Definition: logger.h:116
 
void note(std::invocable auto producer) const
Definition: logger.h:121
 
void system(const std::string &msg) const
Definition: logger.h:119
 
void debug(std::invocable auto producer) const
Definition: logger.h:101
 
void warning(const std::string &msg) const
Definition: logger.h:114
 
void error(const std::string &msg) const
Definition: logger.h:129
 
std::optional< mysql_harness::logging::Logger > logger_
Definition: logger.h:139
 
void error(std::invocable auto producer) const
Definition: logger.h:126
 
Logger class.
Definition: logger.h:50
 
const Registry * registry_
Definition: logger.h:91
 
std::set< std::string > handlers_
Definition: logger.h:90
 
LogLevel get_level() const
Definition: logger.h:81
 
LogLevel level_
Definition: logger.h:88
 
void set_level(LogLevel level)
Definition: logger.h:80
 
const std::set< std::string > & get_handler_names() const
Definition: logger.h:78
 
Logger()
Definition: logger.h:56
 
LogTimestampPrecision precision_
Definition: logger.h:89
 
LogTimestampPrecision get_timestamp_precision() const
Definition: logger.h:85
 
void set_timestamp_precision(LogTimestampPrecision precision)
Definition: logger.h:82
 
Definition: registry.h:48
 
Logging interface for using and extending the logging subsystem.
 
static int record
Definition: mysqltest.cc:195
 
static loglevel log_level(const Sql_condition *condition)
Definition: histogram.cc:1697
 
const LogLevel kDefaultLogLevel
Default log level used by the router.
Definition: logging.h:140
 
LogLevel
Log level values.
Definition: logging.h:90
 
@ kInfo
Informational message.
 
@ kWarning
Warning message.
 
@ kNote
Note level contains additional information over the normal informational messages.
 
LogTimestampPrecision
Log timestamp precision values.
Definition: logging.h:160
 
static int handle(int sql_errno, const char *sqlstate, const char *message, void *state)
Bridge function between the C++ API offered by this module and the C API of the parser service.
Definition: services.cc:64
 
Definition: gcs_xcom_synode.h:64
 
#define MYSQL_ROUTER_LOG_DOMAIN
Definition: main.cc:26
 
Log record containing information collected by the logging system.
Definition: logging.h:182