OGLplus  (0.59.0) a C++ wrapper for rendering APIs

eagine::log_entry Class Reference

Class representing a single log entry / message. More...

#include <eagine/logging/entry.hpp>

Public Member Functions

 log_entry (identifier source_id, logger_instance_id instance_id, log_event_severity severity, string_view format, logger_backend *backend) noexcept
 Constructor.
 
 log_entry (log_entry &&)=delete
 Not moveable.
 
 log_entry (const log_entry &)=delete
 Not copyable.
 
auto operator= (log_entry &&)=delete
 Not copy assignable.
 
auto operator= (const log_entry &)=delete
 Not move assignable.
 
 ~log_entry () noexcept
 Destructor. Passed the actual entry to the backend.
 
auto set_format (string_view format) noexcept -> auto &
 Sets the format string for this log entry. More...
 
auto arg (identifier name, identifier tag, identifier value) noexcept -> auto &
 Adds a new message argument with identifier value. More...
 
auto arg (identifier name, identifier value) noexcept -> auto &
 Adds a new message argument with identifier value. More...
 
auto arg (identifier name, identifier tag, message_id value) noexcept -> auto &
 Adds a new message argument with message_id type value. More...
 
auto arg (identifier name, message_id value) noexcept -> auto &
 Adds a new message argument with identifier value. More...
 
auto arg (identifier name, identifier tag, std::int64_t value) noexcept -> auto &
 Adds a new message argument with 64-bit signed integer value. More...
 
auto arg (identifier name, std::int64_t value) noexcept -> auto &
 Adds a new message argument with 64-bit signed integer value. More...
 
auto arg (identifier name, identifier tag, span< const std::int64_t >) noexcept -> log_entry &
 Adds a new message argument with 64-bit signed integer span. More...
 
auto arg (identifier name, span< const std::int64_t > values) noexcept -> auto &
 Adds a new message argument with 64-bit signed integer span. More...
 
auto arg (identifier name, identifier tag, std::int32_t value) noexcept -> auto &
 Adds a new message argument with 32-bit signed integer value. More...
 
auto arg (identifier name, std::int32_t value) noexcept -> auto &
 Adds a new message argument with 32-bit signed integer value. More...
 
auto arg (identifier name, identifier tag, span< const std::int32_t >) noexcept -> log_entry &
 Adds a new message argument with 32-bit signed integer span. More...
 
auto arg (identifier name, span< const std::int32_t > values) noexcept -> auto &
 Adds a new message argument with 32-bit signed integer span. More...
 
auto arg (identifier name, identifier tag, std::int16_t value) noexcept -> auto &
 Adds a new message argument with 16-bit signed integer value. More...
 
auto arg (identifier name, std::int16_t value) noexcept -> auto &
 Adds a new message argument with 16-bit signed integer value. More...
 
auto arg (identifier name, identifier tag, span< const std::int16_t >) noexcept -> log_entry &
 Adds a new message argument with 16-bit signed integer span. More...
 
auto arg (identifier name, span< const std::int16_t > values) noexcept -> auto &
 Adds a new message argument with 16-bit signed integer span. More...
 
auto arg (identifier name, identifier tag, std::uint64_t value) noexcept -> auto &
 Adds a new message argument with 64-bit unsigned integer value. More...
 
auto arg (identifier name, std::uint64_t value) noexcept -> auto &
 Adds a new message argument with 64-bit unsigned integer value. More...
 
auto arg (identifier name, identifier tag, span< const std::uint64_t >) noexcept -> log_entry &
 Adds a new message argument with 64-bit unsigned integer span. More...
 
auto arg (identifier name, span< const std::uint64_t > values) noexcept -> auto &
 Adds a new message argument with 64-bit unsigned integer span. More...
 
auto arg (identifier name, identifier tag, std::uint32_t value) noexcept -> auto &
 Adds a new message argument with 32-bit unsigned integer value. More...
 
auto arg (identifier name, std::uint32_t value) noexcept -> auto &
 Adds a new message argument with 32-bit unsigned integer value. More...
 
auto arg (identifier name, identifier tag, span< const std::uint32_t >) noexcept -> log_entry &
 Adds a new message argument with 32-bit unsigned integer span. More...
 
auto arg (identifier name, span< const std::uint32_t > values) noexcept -> auto &
 Adds a new message argument with 32-bit unsigned integer span. More...
 
auto arg (identifier name, identifier tag, std::uint16_t value) noexcept -> auto &
 Adds a new message argument with 16-bit unsigned integer value. More...
 
auto arg (identifier name, std::uint16_t value) noexcept -> auto &
 Adds a new message argument with 16-bit unsigned integer value. More...
 
auto arg (identifier name, identifier tag, span< const std::uint16_t >) noexcept -> log_entry &
 Adds a new message argument with 16-bit unsigned integer span. More...
 
auto arg (identifier name, span< const std::uint16_t > values) noexcept -> auto &
 Adds a new message argument with 16-bit unsigned integer span. More...
 
auto arg (identifier name, identifier tag, float value) noexcept -> auto &
 Adds a new message argument with floating-point value. More...
 
auto arg (identifier name, float value) noexcept -> auto &
 Adds a new message argument with floating-point value. More...
 
auto arg (identifier name, double value) noexcept -> auto &
 Adds a new message argument with double-precision float value. More...
 
auto arg (identifier name, identifier tag, span< const float >) noexcept -> log_entry &
 Adds a new message argument with floating-point span. More...
 
auto arg (identifier name, span< const float > values) noexcept -> auto &
 Adds a new message argument with floating-point span. More...
 
auto arg (identifier name, identifier tag, float min, float value, float max) noexcept -> auto &
 Adds a new message argument with floating-point value. More...
 
auto arg (identifier name, float min, float value, float max) noexcept -> auto &
 Adds a new message argument with floating-point value. More...
 
template<typename R , typename P >
auto arg (identifier name, identifier tag, std::chrono::duration< R, P > value) noexcept -> auto &
 Adds a new message argument with time duration value. More...
 
template<typename R , typename P >
auto arg (identifier name, std::chrono::duration< R, P > value) noexcept -> auto &
 Adds a new message argument with time duration value. More...
 
auto arg (identifier name, identifier tag, string_view value) noexcept -> auto &
 Adds a new message argument with string value. More...
 
auto arg (identifier name, string_view value) noexcept -> auto &
 Adds a new message argument with string value. More...
 
auto arg (identifier name, identifier tag, const std::string &value) noexcept -> auto &
 Adds a new message argument with string value. More...
 
auto arg (identifier name, const std::string &value) noexcept -> auto &
 Adds a new message argument with string value. More...
 
auto arg (identifier name, identifier tag, memory::const_block value) noexcept -> auto &
 Adds a new message argument with BLOB value. More...
 
auto arg (identifier name, memory::const_block value) noexcept -> auto &
 Adds a new message argument with BLOB value. More...
 
template<typename Func >
auto arg_func (Func function) -> auto &
 Adds a new message argument adapted by the specified function.
 
template<typename T >
auto arg (identifier name, T &&value) noexcept -> std::enable_if_t< has_log_entry_adapter_v< std::decay_t< T >>, log_entry & >
 Adds a new message argument with adaptable-type value. More...
 
template<typename T , typename P , typename F >
auto arg (identifier name, identifier tag, valid_if_or_fallback< T, P, F > &&opt) noexcept -> std::enable_if_t< has_log_entry_function_v< std::decay_t< T >> &&has_log_entry_function_v< std::decay_t< F >>, log_entry & >
 Adds a new message argument with valid_if_or_fallback value. More...
 
template<typename T , typename P , typename F >
auto arg (identifier name, identifier tag, valid_if< T, P > opt, F fbck) noexcept -> std::enable_if_t< has_log_entry_function_v< std::decay_t< T >> &&has_log_entry_function_v< std::decay_t< F >>, log_entry & >
 Adds a new message argument with valid_if or fallback value. More...
 
auto tag (identifier entry_tag) noexcept -> auto &
 Adds an optional tag to this log entry.
 

Detailed Description

Class representing a single log entry / message.

Note
Do not use directly, use logger instead.

Member Function Documentation

◆ arg() [1/46]

auto eagine::log_entry::arg ( identifier  name,
const std::string &  value 
) -> auto&
inlinenoexcept

Adds a new message argument with string value.

Parameters
namethe argument name identifier. Used in message substitution.
valuethe value of the argument.

◆ arg() [2/46]

auto eagine::log_entry::arg ( identifier  name,
double  value 
) -> auto&
inlinenoexcept

Adds a new message argument with double-precision float value.

Parameters
namethe argument name identifier. Used in message substitution.

◆ arg() [3/46]

auto eagine::log_entry::arg ( identifier  name,
float  min,
float  value,
float  max 
) -> auto&
inlinenoexcept

Adds a new message argument with floating-point value.

Parameters
namethe argument name identifier. Used in message substitution.
valuethe value of the argument.

◆ arg() [4/46]

auto eagine::log_entry::arg ( identifier  name,
float  value 
) -> auto&
inlinenoexcept

Adds a new message argument with floating-point value.

Parameters
namethe argument name identifier. Used in message substitution.
valuethe value of the argument.

◆ arg() [5/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
const std::string &  value 
) -> auto&
inlinenoexcept

Adds a new message argument with string value.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.
valuethe value of the argument.

◆ arg() [6/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
float  min,
float  value,
float  max 
) -> auto&
inlinenoexcept

Adds a new message argument with floating-point value.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.
valuethe value of the argument.

◆ arg() [7/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
float  value 
) -> auto&
inlinenoexcept

Adds a new message argument with floating-point value.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.
valuethe value of the argument.

◆ arg() [8/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
identifier  value 
) -> auto&
inlinenoexcept

Adds a new message argument with identifier value.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.
valuethe value of the argument.

Referenced by arg().

◆ arg() [9/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
memory::const_block  value 
) -> auto&
inlinenoexcept

Adds a new message argument with BLOB value.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.
valuethe value of the argument.

◆ arg() [10/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
message_id  value 
) -> auto&
inlinenoexcept

Adds a new message argument with message_id type value.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.
valuethe value of the argument.

◆ arg() [11/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
span< const float >   
) -> log_entry &
noexcept

Adds a new message argument with floating-point span.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.

◆ arg() [12/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
span< const std::int16_t >   
) -> log_entry &
noexcept

Adds a new message argument with 16-bit signed integer span.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.

◆ arg() [13/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
span< const std::int32_t >   
) -> log_entry &
noexcept

Adds a new message argument with 32-bit signed integer span.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.

◆ arg() [14/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
span< const std::int64_t >   
) -> log_entry &
noexcept

Adds a new message argument with 64-bit signed integer span.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.

◆ arg() [15/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
span< const std::uint16_t >   
) -> log_entry &
noexcept

Adds a new message argument with 16-bit unsigned integer span.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.

◆ arg() [16/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
span< const std::uint32_t >   
) -> log_entry &
noexcept

Adds a new message argument with 32-bit unsigned integer span.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.

◆ arg() [17/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
span< const std::uint64_t >   
) -> log_entry &
noexcept

Adds a new message argument with 64-bit unsigned integer span.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.

◆ arg() [18/46]

template<typename R , typename P >
auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
std::chrono::duration< R, P >  value 
) -> auto&
inlinenoexcept

Adds a new message argument with time duration value.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.
valuethe value of the argument.

◆ arg() [19/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
std::int16_t  value 
) -> auto&
inlinenoexcept

Adds a new message argument with 16-bit signed integer value.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.
valuethe value of the argument.

◆ arg() [20/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
std::int32_t  value 
) -> auto&
inlinenoexcept

Adds a new message argument with 32-bit signed integer value.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.
valuethe value of the argument.

◆ arg() [21/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
std::int64_t  value 
) -> auto&
inlinenoexcept

Adds a new message argument with 64-bit signed integer value.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.
valuethe value of the argument.

◆ arg() [22/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
std::uint16_t  value 
) -> auto&
inlinenoexcept

Adds a new message argument with 16-bit unsigned integer value.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.
valuethe value of the argument.

◆ arg() [23/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
std::uint32_t  value 
) -> auto&
inlinenoexcept

Adds a new message argument with 32-bit unsigned integer value.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.
valuethe value of the argument.

◆ arg() [24/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
std::uint64_t  value 
) -> auto&
inlinenoexcept

Adds a new message argument with 64-bit unsigned integer value.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.
valuethe value of the argument.

◆ arg() [25/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
string_view  value 
) -> auto&
inlinenoexcept

Adds a new message argument with string value.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.
valuethe value of the argument.

◆ arg() [26/46]

template<typename T , typename P , typename F >
auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
valid_if< T, P >  opt,
fbck 
) -> std::enable_if_t< has_log_entry_function_v<std::decay_t<T>> && has_log_entry_function_v<std::decay_t<F>>, log_entry&>
inlinenoexcept

Adds a new message argument with valid_if or fallback value.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.
optthe primary optional value of the argument.
fbckthe fallback value of opt is not valid.
See also
valid_if_or_fallback

◆ arg() [27/46]

template<typename T , typename P , typename F >
auto eagine::log_entry::arg ( identifier  name,
identifier  tag,
valid_if_or_fallback< T, P, F > &&  opt 
) -> std::enable_if_t< has_log_entry_function_v<std::decay_t<T>> && has_log_entry_function_v<std::decay_t<F>>, log_entry&>
inlinenoexcept

Adds a new message argument with valid_if_or_fallback value.

Parameters
namethe argument name identifier. Used in message substitution.
tagthe argument type identifier. Used in value formatting.
optthe value of the argument.
See also
valid_if_or_fallback

◆ arg() [28/46]

auto eagine::log_entry::arg ( identifier  name,
identifier  value 
) -> auto&
inlinenoexcept

Adds a new message argument with identifier value.

Parameters
namethe argument name identifier. Used in message substitution.
valuethe value of the argument.

◆ arg() [29/46]

auto eagine::log_entry::arg ( identifier  name,
memory::const_block  value 
) -> auto&
inlinenoexcept

Adds a new message argument with BLOB value.

Parameters
namethe argument name identifier. Used in message substitution.
valuethe value of the argument.

◆ arg() [30/46]

auto eagine::log_entry::arg ( identifier  name,
message_id  value 
) -> auto&
inlinenoexcept

Adds a new message argument with identifier value.

Parameters
namethe argument name identifier. Used in message substitution.
valuethe value of the argument.

◆ arg() [31/46]

auto eagine::log_entry::arg ( identifier  name,
span< const float >  values 
) -> auto&
inlinenoexcept

Adds a new message argument with floating-point span.

Parameters
namethe argument name identifier. Used in message substitution.

◆ arg() [32/46]

auto eagine::log_entry::arg ( identifier  name,
span< const std::int16_t >  values 
) -> auto&
inlinenoexcept

Adds a new message argument with 16-bit signed integer span.

Parameters
namethe argument name identifier. Used in message substitution.

◆ arg() [33/46]

auto eagine::log_entry::arg ( identifier  name,
span< const std::int32_t >  values 
) -> auto&
inlinenoexcept

Adds a new message argument with 32-bit signed integer span.

Parameters
namethe argument name identifier. Used in message substitution.
namethe argument name identifier. Used in message substitution.

◆ arg() [34/46]

auto eagine::log_entry::arg ( identifier  name,
span< const std::int64_t >  values 
) -> auto&
inlinenoexcept

Adds a new message argument with 64-bit signed integer span.

Parameters
namethe argument name identifier. Used in message substitution.

◆ arg() [35/46]

auto eagine::log_entry::arg ( identifier  name,
span< const std::uint16_t >  values 
) -> auto&
inlinenoexcept

Adds a new message argument with 16-bit unsigned integer span.

Parameters
namethe argument name identifier. Used in message substitution.

◆ arg() [36/46]

auto eagine::log_entry::arg ( identifier  name,
span< const std::uint32_t >  values 
) -> auto&
inlinenoexcept

Adds a new message argument with 32-bit unsigned integer span.

Parameters
namethe argument name identifier. Used in message substitution.

◆ arg() [37/46]

auto eagine::log_entry::arg ( identifier  name,
span< const std::uint64_t >  values 
) -> auto&
inlinenoexcept

Adds a new message argument with 64-bit unsigned integer span.

Parameters
namethe argument name identifier. Used in message substitution.

◆ arg() [38/46]

template<typename R , typename P >
auto eagine::log_entry::arg ( identifier  name,
std::chrono::duration< R, P >  value 
) -> auto&
inlinenoexcept

Adds a new message argument with time duration value.

Parameters
namethe argument name identifier. Used in message substitution.
valuethe value of the argument.

◆ arg() [39/46]

auto eagine::log_entry::arg ( identifier  name,
std::int16_t  value 
) -> auto&
inlinenoexcept

Adds a new message argument with 16-bit signed integer value.

Parameters
namethe argument name identifier. Used in message substitution.
valuethe value of the argument.

◆ arg() [40/46]

auto eagine::log_entry::arg ( identifier  name,
std::int32_t  value 
) -> auto&
inlinenoexcept

Adds a new message argument with 32-bit signed integer value.

Parameters
namethe argument name identifier. Used in message substitution.
valuethe value of the argument.

◆ arg() [41/46]

auto eagine::log_entry::arg ( identifier  name,
std::int64_t  value 
) -> auto&
inlinenoexcept

Adds a new message argument with 64-bit signed integer value.

Parameters
namethe argument name identifier. Used in message substitution.
valuethe value of the argument.

◆ arg() [42/46]

auto eagine::log_entry::arg ( identifier  name,
std::uint16_t  value 
) -> auto&
inlinenoexcept

Adds a new message argument with 16-bit unsigned integer value.

Parameters
namethe argument name identifier. Used in message substitution.
valuethe value of the argument.

◆ arg() [43/46]

auto eagine::log_entry::arg ( identifier  name,
std::uint32_t  value 
) -> auto&
inlinenoexcept

Adds a new message argument with 32-bit unsigned integer value.

Parameters
namethe argument name identifier. Used in message substitution.
valuethe value of the argument.

◆ arg() [44/46]

auto eagine::log_entry::arg ( identifier  name,
std::uint64_t  value 
) -> auto&
inlinenoexcept

Adds a new message argument with 64-bit unsigned integer value.

Parameters
namethe argument name identifier. Used in message substitution.
valuethe value of the argument.

◆ arg() [45/46]

auto eagine::log_entry::arg ( identifier  name,
string_view  value 
) -> auto&
inlinenoexcept

Adds a new message argument with string value.

Parameters
namethe argument name identifier. Used in message substitution.
valuethe value of the argument.

◆ arg() [46/46]

template<typename T >
auto eagine::log_entry::arg ( identifier  name,
T &&  value 
) -> std::enable_if_t<has_log_entry_adapter_v<std::decay_t<T>>, log_entry&>
inlinenoexcept

Adds a new message argument with adaptable-type value.

Parameters
namethe argument name identifier. Used in message substitution.
valuethe value of the argument.
See also
has_log_entry_adapter_v

◆ set_format()

auto eagine::log_entry::set_format ( string_view  format) -> auto&
inlinenoexcept

Sets the format string for this log entry.

The format string can contain argument ${NAME} placeholders, that are later substituted by the value of argument with the specified NAME.


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

Copyright © 2015-2021 Matúš Chochlík.
<chochlik -at -gmail.com>
Documentation generated on Tue Apr 13 2021 by Doxygen (version 1.8.17).