StormByte C++ Library 0.0.9999
StormByte is a comprehensive, cross-platform C++ library aimed at easing system programming, configuration management, logging, and database handling tasks. This library provides a unified API that abstracts away the complexities and inconsistencies of different platforms (Windows, Linux).
|
A flexible and extensible logging utility. More...
#include <logger.hxx>
Public Member Functions | |
Logger (std::ostream &out, const Level &level=Level::Info, const std::string &format="[%L] %T") noexcept | |
Logger (const Logger &)=delete | |
Logger (Logger &&) noexcept=default | |
Logger & | operator= (const Logger &)=delete |
Logger & | operator= (Logger &&) noexcept=default |
~Logger () noexcept=default | |
Logger & | operator<< (const Level &level) noexcept |
Logger & | operator<< (std::ostream &(*manip)(std::ostream &)) noexcept |
Logger & | operator<< (Logger &(*manip)(Logger &) noexcept) |
Overload for manipulators. | |
template<typename T > requires (!std::is_same_v<std::decay_t<T>, Logger& (*)(Logger&) noexcept>) | |
Logger & | operator<< (const T &value) noexcept |
Static Public Member Functions | |
static constexpr std::string | LevelToString (const Level &l) noexcept |
Public Attributes | |
enum STORMBYTE_PUBLIC | Level: unsigned short { LowLevel = 0 |
Low level debug level. | |
enum STORMBYTE_PUBLIC | Debug |
Debug level. | |
enum STORMBYTE_PUBLIC | Warning |
Warning level. | |
enum STORMBYTE_PUBLIC | Notice |
Notice level. | |
enum STORMBYTE_PUBLIC | Info |
Info level. | |
enum STORMBYTE_PUBLIC | Error |
Error level. | |
enum STORMBYTE_PUBLIC | Fatal |
< Fatal level | |
Friends | |
STORMBYTE_PUBLIC Logger & | humanreadable_number (Logger &logger) noexcept |
STORMBYTE_PUBLIC Logger & | humanreadable_bytes (Logger &logger) noexcept |
STORMBYTE_PUBLIC Logger & | nohumanreadable (Logger &logger) noexcept |
A flexible and extensible logging utility.
The Logger
class provides a robust logging mechanism with support for multiple log levels, custom formatting, and human-readable output. It is designed to be lightweight and easy to integrate into applications.
|
noexcept |
Constructor
out | output stream |
level | log level |
format | custom format |
|
defaultnoexcept |
Move constructor
|
defaultnoexcept |
Destructor
|
inlinestaticconstexprnoexcept |
Gets Level string
Overload for operator<<
value | value |
T | type of value |