LightLib
PROS library for VEX V5: EKF/MCL localization, RAMSETE path following, high-level chassis API
Loading...
Searching...
No Matches
okapi::Logger Class Reference

#include <logging.hpp>

Public Types

enum class  LogLevel {
  debug = 4 , info = 3 , warn = 2 , error = 1 ,
  off = 0
}
 

Public Member Functions

 Logger () noexcept
 A logger that does nothing.
 
 Logger (std::unique_ptr< AbstractTimer > itimer, std::string_view ifileName, const LogLevel &ilevel) noexcept
 A logger that opens the input file by name.
 
 Logger (std::unique_ptr< AbstractTimer > itimer, FILE *ifile, const LogLevel &ilevel) noexcept
 A logger that uses an existing file handle.
 
 ~Logger ()
 
constexpr bool isDebugLevelEnabled () const noexcept
 
template<typename T >
void debug (T ilazyMessage) noexcept
 
constexpr bool isInfoLevelEnabled () const noexcept
 
template<typename T >
void info (T ilazyMessage) noexcept
 
constexpr bool isWarnLevelEnabled () const noexcept
 
template<typename T >
void warn (T ilazyMessage) noexcept
 
constexpr bool isErrorLevelEnabled () const noexcept
 
template<typename T >
void error (T ilazyMessage) noexcept
 
constexpr void close () noexcept
 Closes the connection to the log file.
 

Static Public Member Functions

static std::shared_ptr< LoggergetDefaultLogger ()
 
static void setDefaultLogger (std::shared_ptr< Logger > ilogger)
 Sets a new default logger.
 

Detailed Description

Definition at line 30 of file logging.hpp.

Member Enumeration Documentation

◆ LogLevel

enum class okapi::Logger::LogLevel
strong
Enumerator
debug 

debug

info 

info

warn 

warn

error 

error

off 

off

Definition at line 32 of file logging.hpp.

Constructor & Destructor Documentation

◆ Logger() [1/3]

okapi::Logger::Logger ( )
noexcept

A logger that does nothing.

◆ Logger() [2/3]

okapi::Logger::Logger ( std::unique_ptr< AbstractTimer itimer,
std::string_view  ifileName,
const LogLevel ilevel 
)
noexcept

A logger that opens the input file by name.

If the file contains /ser/, the file will be opened in write mode. Otherwise, the file will be opened in append mode. The file will be closed when the logger is destructed.

Parameters
itimerA timer used to get the current time for log statements.
ifileNameThe name of the log file to open.
ilevelThe log level. Log statements more verbose than this level will be disabled.

◆ Logger() [3/3]

okapi::Logger::Logger ( std::unique_ptr< AbstractTimer itimer,
FILE *  ifile,
const LogLevel ilevel 
)
noexcept

A logger that uses an existing file handle.

The file will be closed when the logger is destructed.

Parameters
itimerA timer used to get the current time for log statements.
ifileThe log file to open. Will be closed by the logger!
ilevelThe log level. Log statements more verbose than this level will be disabled.

◆ ~Logger()

okapi::Logger::~Logger ( )

Member Function Documentation

◆ close()

constexpr void okapi::Logger::close ( )
inlineconstexprnoexcept

Closes the connection to the log file.

Definition at line 133 of file logging.hpp.

◆ debug()

template<typename T >
void okapi::Logger::debug ( ilazyMessage)
inlinenoexcept

Definition at line 74 of file logging.hpp.

◆ error()

template<typename T >
void okapi::Logger::error ( ilazyMessage)
inlinenoexcept

Definition at line 119 of file logging.hpp.

◆ getDefaultLogger()

static std::shared_ptr< Logger > okapi::Logger::getDefaultLogger ( )
static
Returns
The default logger.

◆ info()

template<typename T >
void okapi::Logger::info ( ilazyMessage)
inlinenoexcept

Definition at line 89 of file logging.hpp.

◆ isDebugLevelEnabled()

constexpr bool okapi::Logger::isDebugLevelEnabled ( ) const
inlineconstexprnoexcept

Definition at line 70 of file logging.hpp.

◆ isErrorLevelEnabled()

constexpr bool okapi::Logger::isErrorLevelEnabled ( ) const
inlineconstexprnoexcept

Definition at line 115 of file logging.hpp.

◆ isInfoLevelEnabled()

constexpr bool okapi::Logger::isInfoLevelEnabled ( ) const
inlineconstexprnoexcept

Definition at line 85 of file logging.hpp.

◆ isWarnLevelEnabled()

constexpr bool okapi::Logger::isWarnLevelEnabled ( ) const
inlineconstexprnoexcept

Definition at line 100 of file logging.hpp.

◆ setDefaultLogger()

static void okapi::Logger::setDefaultLogger ( std::shared_ptr< Logger ilogger)
static

Sets a new default logger.

OkapiLib classes use the default logger unless given another logger in their constructor.

Parameters
iloggerThe new logger instance.

◆ warn()

template<typename T >
void okapi::Logger::warn ( ilazyMessage)
inlinenoexcept

Definition at line 104 of file logging.hpp.


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