Max OS 0.3
Loading...
Searching...
No Matches
MaxOS::LogRecord Class Reference

A single logging event. More...

#include <logger.h>

Public Member Functions

 LogRecord (Logger &logger, LogLevel level)
 
 ~LogRecord ()
 
template<typename T >
LogRecord & operator<< (const T &value)
 
LogRecord & operator<< (char c)
 

Detailed Description

A single logging event.

Definition at line 106 of file logger.h.

Constructor & Destructor Documentation

◆ LogRecord()

LogRecord::LogRecord ( Logger &  logger,
LogLevel  level 
)
explicit

Create a new log record, threadsafe

Parameters
loggerThe logger to use
levelThe level of the log

Definition at line 299 of file logger.cpp.

300: m_logger(logger)
301{
302
303 // Wait for the logger to be free
304 Logger::s_loggers_lock.lock();
305 if (level != LogLevel::OUT)
306 m_logger.set_log_level(level);
307}
void set_log_level(LogLevel log_level)
Sets the log level of the logger.
Definition logger.cpp:110

References MaxOS::Logger::set_log_level().

◆ ~LogRecord()

LogRecord::~LogRecord ( )

Destroys the log record, freeing the threadsafe lock

Definition at line 312 of file logger.cpp.

312 {
313
314 Logger::s_loggers_lock.unlock();
315
316}

Member Function Documentation

◆ operator<<() [1/2]

LogRecord & MaxOS::LogRecord::operator<< ( char  c)
inline

Write a single character to the log

Parameters
cThe character to write
Returns
The LogRecord instance

Definition at line 133 of file logger.h.

133 {
134 m_logger.write_char(c);
135 return *this;
136 }
void write_char(char c) final
Writes a character to the logger.
Definition logger.cpp:158

References MaxOS::Logger::write_char().

◆ operator<<() [2/2]

template<typename T >
LogRecord & MaxOS::LogRecord::operator<< ( const T &  value)
inline

Write a variable to the log

Template Parameters
TThe type of variable to write
Parameters
valueThe value of the variable to write
Returns
The LogRecord instance

Definition at line 122 of file logger.h.

122 {
123 m_logger.write(value);
124 return *this;
125 }

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