Logy v1.2.1
Logger Class Referencefinal

Logger instance handle. More...

#include <logger.hpp>

Public Member Functions

 Logger ()=default
 Creates a new logger without stream.
 Logger (const Logger &)=delete
 Logger (Logger &&r) noexcept
Loggeroperator= (Logger &)=delete
Loggeroperator= (Logger &&r) noexcept
 Logger (const filesystem::path &directoryPath, LogLevel level=ALL_LOG_LEVEL, bool logToStdout=true, double rotationTime=0.0, bool isAppDataDirectory=true)
 Creates a new logger instance.
 ~Logger ()
 Destroys logger stream.
void open (const filesystem::path &directoryPath, LogLevel level=ALL_LOG_LEVEL, bool logToStdout=true, double rotationTime=0.0, bool isAppDataDirectory=true)
 Opens a new logger stream.
void close () noexcept
 Closes the current logger stream.
bool isOpen () const noexcept
 Returns true if logger stream is open.
string_view getDirectoryPath () const noexcept
 Returns logger directory path string. (MT-Safe).
string_view getFilePath () const noexcept
 Returns logger file path string. (MT-Safe).
double getRotationTime () const noexcept
 Returns current logger rotation delay time in seconds. (MT-Safe).
LogLevel getLevel () const noexcept
 Returns current logger logging level. (MT-Safe).
void setLevel (LogLevel level) noexcept
 Set logger logging level. (MT-Safe).
bool getLogToStdout () noexcept
 Returns current logger log to stdout state. (MT-Safe).
void setLogToStdout (bool value) noexcept
 Sets log messages to stdout. (MT-Safe).
void log (LogLevel level, const char *fmt, va_list args) noexcept
 Logs message to the log. (MT-Safe).
void log (LogLevel level, const char *fmt,...) noexcept
 Logs message to the log. (MT-Safe).

Detailed Description

Logger instance handle.

See the logger.h

Constructor & Destructor Documentation

◆ Logger()

Logger ( const filesystem::path & directoryPath,
LogLevel level = ALL_LOG_LEVEL,
bool logToStdout = true,
double rotationTime = 0.0,
bool isAppDataDirectory = true )
inline

Creates a new logger instance.

See the createLogger().

Parameters
[in]directoryPathlogs directory path string
levellogging level, inclusive
logToStdoutduplicate messages to the stdout
rotationTimelog rotation delay time or 0 (in seconds)
isAppDataDirectorywrite to app data directory
Exceptions
Errorwith a LogyResult string on failure.

◆ ~Logger()

~Logger ( )
inline

Destroys logger stream.

See the destroyLogger().

Member Function Documentation

◆ open()

void open ( const filesystem::path & directoryPath,
LogLevel level = ALL_LOG_LEVEL,
bool logToStdout = true,
double rotationTime = 0.0,
bool isAppDataDirectory = true )
inline

Opens a new logger stream.

See the createLogger().

Parameters
[in]directoryPathlogs directory path string
levellogging level, inclusive
logToStdoutduplicate messages to the stdout
rotationTimelog rotation delay time or 0 (in seconds)
isAppDataDirectorywrite to app data directory
Exceptions
Errorwith a LogyResult string on failure.

◆ close()

void close ( )
inlinenoexcept

Closes the current logger stream.

See the destroyLogger().

◆ isOpen()

bool isOpen ( ) const
inlinenoexcept

Returns true if logger stream is open.

See the createLogger().

◆ getDirectoryPath()

string_view getDirectoryPath ( ) const
inlinenoexcept

Returns logger directory path string. (MT-Safe).

See the getLoggerDirectoryPath().

◆ getFilePath()

string_view getFilePath ( ) const
inlinenoexcept

Returns logger file path string. (MT-Safe).

See the getLoggerFilePath().

◆ getRotationTime()

double getRotationTime ( ) const
inlinenoexcept

Returns current logger rotation delay time in seconds. (MT-Safe).

See the getLoggerRotationTime().

◆ getLevel()

LogLevel getLevel ( ) const
inlinenoexcept

Returns current logger logging level. (MT-Safe).

See the getLoggerLevel().

◆ setLevel()

void setLevel ( LogLevel level)
inlinenoexcept

Set logger logging level. (MT-Safe).

See the setLoggerLevel().

Parameters
levelmessage logging level

◆ getLogToStdout()

bool getLogToStdout ( )
inlinenoexcept

Returns current logger log to stdout state. (MT-Safe).

See the getLoggerLogToStdout().

◆ setLogToStdout()

void setLogToStdout ( bool value)
inlinenoexcept

Sets log messages to stdout. (MT-Safe).

See the setLoggerLogToStdout().

Parameters
valuelogToStdout value

◆ log() [1/2]

void log ( LogLevel level,
const char * fmt,
va_list args )
inlinenoexcept

Logs message to the log. (MT-Safe).

See the logVaMessage().

Parameters
levelmessage logging level
[in]fmtformatted message
argsmessage arguments

◆ log() [2/2]

void log ( LogLevel level,
const char * fmt,
... )
inlinenoexcept

Logs message to the log. (MT-Safe).

See the logVaMessage().

Parameters
levelmessage logging level
[in]fmtformatted message
...message arguments