MySQL 26.10.0
Source Code Documentation
ComponentlogHandler Class Referencefinal

Specific logging handler(sink) that writes the logs using the Component Logging primitives. More...

#include <componentlog_plugin.h>

Inheritance diagram for ComponentlogHandler:
[legend]

Public Member Functions

 ComponentlogHandler (bool format_messages=true, mysql_harness::logging::LogLevel level=mysql_harness::logging::LogLevel::kNotSet)
 
 ~ComponentlogHandler () override=default
 
 ComponentlogHandler (const ComponentlogHandler &)=delete
 
 ComponentlogHandler (ComponentlogHandler &&)=delete
 
ComponentlogHandler & operator= (const ComponentlogHandler &)=delete
 
ComponentlogHandler & operator= (ComponentlogHandler &&)=delete
 
void reopen (const std::string) override
 Request to reopen underlying log sink. More...
 
- Public Member Functions inherited from mysql_harness::logging::Handler
 Handler ()=default
 
 Handler (const Handler &)=default
 
Handler & operator= (const Handler &)=default
 
virtual ~Handler ()=default
 
void handle (const Record &record)
 
void set_level (LogLevel level)
 
LogLevel get_level () const
 
void set_timestamp_precision (LogTimestampPrecision precision)
 
bool has_logged () const
 check if the handler has logged at least one record. More...
 

Static Public Member Functions

static void init_log_service (const mysql_service_log_builtins_t *log_builtins_ptr, const mysql_service_log_builtins_string_t *log_builtins_string_ptr)
 
static bool is_initialized ()
 

Private Member Functions

void do_log (const mysql_harness::logging::Record &record) noexcept override
 Log message handler primitive. More...
 

Static Private Member Functions

static loglevel log_level_to_component_log_level (mysql_harness::logging::LogLevel level) noexcept
 

Static Private Attributes

static bool s_inited = false
 

Additional Inherited Members

- Static Public Attributes inherited from mysql_harness::logging::Handler
static constexpr const char * kDefaultName = nullptr
 Default identifier. More...
 
- Protected Member Functions inherited from mysql_harness::logging::Handler
std::string format (const Record &record) const
 
 Handler (bool format_messages, LogLevel level, LogTimestampPrecision timestamp_precision)
 
void has_logged (bool v)
 

Detailed Description

Specific logging handler(sink) that writes the logs using the Component Logging primitives.

Constructor & Destructor Documentation

◆ ComponentlogHandler() [1/3]

ComponentlogHandler::ComponentlogHandler ( bool  format_messages = true,
mysql_harness::logging::LogLevel  level = mysql_harness::logging::LogLevel::kNotSet 
)
inlineexplicit

◆ ~ComponentlogHandler()

ComponentlogHandler::~ComponentlogHandler ( )
overridedefault

◆ ComponentlogHandler() [2/3]

ComponentlogHandler::ComponentlogHandler ( const ComponentlogHandler &  )
delete

◆ ComponentlogHandler() [3/3]

ComponentlogHandler::ComponentlogHandler ( ComponentlogHandler &&  )
delete

Member Function Documentation

◆ do_log()

void ComponentlogHandler::do_log ( const mysql_harness::logging::Record &  record)
overrideprivatevirtualnoexcept

Log message handler primitive.

This member function is implemented by subclasses to properly log a record wherever it need to be logged. If it is not possible to log the message properly, an exception should be thrown and will be caught by the caller.

Parameters
recordRecord containing information about the message.

Implements mysql_harness::logging::Handler.

◆ init_log_service()

void ComponentlogHandler::init_log_service ( const mysql_service_log_builtins_t *  log_builtins_ptr,
const mysql_service_log_builtins_string_t *  log_builtins_string_ptr 
)
static

◆ is_initialized()

static bool ComponentlogHandler::is_initialized ( )
inlinestatic

◆ log_level_to_component_log_level()

loglevel ComponentlogHandler::log_level_to_component_log_level ( mysql_harness::logging::LogLevel  level)
staticprivatenoexcept

◆ operator=() [1/2]

ComponentlogHandler & ComponentlogHandler::operator= ( ComponentlogHandler &&  )
delete

◆ operator=() [2/2]

ComponentlogHandler & ComponentlogHandler::operator= ( const ComponentlogHandler &  )
delete

◆ reopen()

void ComponentlogHandler::reopen ( const std::string  dst)
inlineoverridevirtual

Request to reopen underlying log sink.

Should be no-op for handlers NOT writing to a file. Useful for log rotation, when the logger got the signal with the request to reopen the file. Provide a destination filename for the old file for file based handlers.

Implements mysql_harness::logging::Handler.

Member Data Documentation

◆ s_inited

bool ComponentlogHandler::s_inited = false
staticprivate

The documentation for this class was generated from the following files: