Serenity Logger
A very fast and effiecient logging library. This library currently can log to files, rotate files when logging, log to the terminal, and is aware if the terminal is being piped during logging.
serenity::msg_details::Message_Info Class Reference

This class is primarily in charge of the message formatting and updating the time-related cache values, however, this class also provides some utility functions involved with the message settings and some target related settings as well.

Public Member Functions

 Message_Info (std::string_view name, LoggerLevel level, message_time_mode mode)
 Constructor that sets the internal representation to the target's name, level, and time mode used. More...
 
Message_Infooperator= (const Message_Info &t)=delete
 
 Message_Info (const Message_Info &)=delete
 
LoggerLevelMsgLevel ()
 Returns a reference of the current message's level setting. More...
 
std::string & Name ()
 Returns a reference to the name value held internally.
 
Message_TimeTimeDetails ()
 Returns a reference to the Message_Time class instance used.
 
void SetName (const std::string_view name)
 Changes the internal view of the name value and is usually called by a target's SetName/Rename function.
 
void SetMsgLevel (const LoggerLevel level)
 Sets the message level of the log message and is generally called within the logging specific functions.
 
std::chrono::system_clock::time_point MessageTimePoint ()
 Returns the current message time point in terms of the system clock.
 
void SetTimeMode (const message_time_mode mode)
 Sets the time mode used and how the time-related cache variables are both intialized and updated.
 
message_time_mode TimeMode ()
 Returns the time mode currently being used (whether local time or utc time).
 
std::tm & TimeInfo ()
 Returns the structure being used to cache the time-related values.
 
std::string & Message ()
 Returns the message with the platform-dependant line already applied, but without the prepended formatted text (if any was present).
 
template<typename... Args>
void SetMessage (const std::string_view message, Args &&...args)
 Formats and then stores the message with the given arguments. More...
 

Constructor & Destructor Documentation

◆ Message_Info()

serenity::msg_details::Message_Info::Message_Info ( std::string_view  name,
LoggerLevel  level,
message_time_mode  mode 
)

The constructor will also dictate via platform detection macros on what the line ending for each message should be.

See also
serenity::experimental::LineEnd,
serenity::experimental::SERENITY_LUTS::line_ending

Member Function Documentation

◆ MsgLevel()

LoggerLevel & serenity::msg_details::Message_Info::MsgLevel ( )
Note
This is different from the target's level setting. The message level setting is determined by the logging function called.

◆ SetMessage()

template<typename... Args>
serenity::msg_details::Message_Info::SetMessage ( const std::string_view  message,
Args &&...  args 
)
inline

This function is generally called via the logging-specific functions from targets.
This function also is the one in charge of applying the platform-dependant end of line to each log message.


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