StormByte C++ Library: Logger module 1.2.0
StormByte-Logger is the logging module of the StormByte C++ suite.
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions | Variables
manipulators.hxx File Reference
#include <StormByte/logger/typedefs.hxx>
#include <StormByte/logger/visibility.h>
#include <cstddef>
#include <optional>
#include <string>
Include dependency graph for manipulators.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  StormByte::Logger::ThrottleSpec
 Immutable rule description used by Log::Throttle. More...
 
struct  StormByte::Logger::GroupManip
 Labels the current logging line with a producer group. More...
 
struct  StormByte::Logger::ComponentManip
 Selects the sticky component for the current thread. More...
 
struct  StormByte::Logger::ResetComponentManip
 Clears the component associated with the current thread. More...
 
struct  StormByte::Logger::PopComponentManip
 Pops one segment from the current thread's component stack. More...
 
struct  StormByte::Logger::FormatManip
 Temporarily replaces the logger format and saves the previous one. More...
 
struct  StormByte::Logger::PopFormatManip
 Restores the most recently saved logger format. More...
 
struct  StormByte::Logger::ColorManip
 Temporarily selects a configured or explicit content color. More...
 
struct  StormByte::Logger::NoColorManip
 Disables color for subsequent content until changed. More...
 
struct  StormByte::Logger::RedactManip
 Stateful redaction manipulator. More...
 
struct  StormByte::Logger::HexManip
 Dump subsequent payloads as hex bytes until nohex. More...
 
struct  StormByte::Logger::NoHexManip
 Disable hex dumps and restore default payload formatting. More...
 

Namespaces

namespace  StormByte::Logger
 Logger module of the StormByte suite.
 
namespace  StormByte
 

Enumerations

enum class  StormByte::Logger::ThrottlePolicy : unsigned char { StormByte::Logger::Drop , StormByte::Logger::Sample , StormByte::Logger::Window }
 Count policy applied before the optional rate bucket. More...
 

Functions

GroupManip StormByte::Logger::group (std::string name)
 Set the producer group for the current line.
 
ComponentManip StormByte::Logger::component (std::string name)
 Select the component associated with subsequent log lines on this thread.
 
FormatManip StormByte::Logger::push_format (std::string format)
 Save the current format and activate a temporary format.
 
constexpr RedactManip StormByte::Logger::redact_first (std::size_t n) noexcept
 Build a manipulator that keeps the first n characters visible.
 
LogStormByte::Logger::humanreadable_number (Log &log) noexcept
 Enable human-readable formatting for numeric values.
 
LogStormByte::Logger::humanreadable_bytes (Log &log) noexcept
 Enable human-readable formatting for byte counts.
 
LogStormByte::Logger::nohumanreadable (Log &log) noexcept
 Disable human-readable formatting (raw numbers).
 
LogStormByte::Logger::noredact (Log &log) noexcept
 Disable redaction until the next redact / redact(n) / redact_first(n).
 

Variables

constexpr ResetComponentManip StormByte::Logger::reset_component {}
 Clear the current thread's component.
 
constexpr PopComponentManip StormByte::Logger::pop_component {}
 Pop one component segment from the current thread's stack.
 
constexpr PopFormatManip StormByte::Logger::pop_format {}
 Restore the most recently saved format, or do nothing if empty.
 
constexpr ColorManip StormByte::Logger::color {}
 Restore the configured color for the current level.
 
constexpr NoColorManip StormByte::Logger::nocolor {}
 Disable color for subsequent content in the current line.
 
constexpr RedactManip StormByte::Logger::redact {}
 Full redaction manipulator (mask everything).
 
constexpr HexManip StormByte::Logger::hex {}
 Enable hex dumps with 16 bytes per row.
 
constexpr NoHexManip StormByte::Logger::nohex {}
 Disable hex dumps for subsequent payloads.