Simple-Log  alpha-v0.7
sl::log Namespace Reference

Namespaces

 preset
 
 ready_to_go
 

Classes

class  BasicSink
 Abstract Sink class which offers basic filtering, formatting functionality. More...
 
struct  ConsoleTextStyle
 Collection of possible style and color options for text printed onto the console. More...
 
class  ConsoleTextStyleTable
 Convenience class for setting up style policies for a given Record member. More...
 
class  ConsoleSink
 Sink class for directly logging onto std::cout. More...
 
class  Core
 The central point of the whole library. Needs to be instantiated at least once. More...
 
class  FileSink
 Class for logging into files. More...
 
class  ProjectionFilter
 Combines a projection on Record type with a predicate into an invokable object. More...
 
class  FilterChain
 Chains multiple filter together. More...
 
class  FilterAllOf
 Convenience type for chaining multiple filter with AND. More...
 
class  FilterAnyOf
 Convenience type for chaining multiple filter with OR. More...
 
class  FilterNoneOf
 Convenience type for chaining multiple filter with NOR. More...
 
class  FlushPolicy
 A customizable FlushPolicy class. More...
 
class  FlushPolicyChain
 Chains multiple FlushPolicy objects together. More...
 
class  FlushPolicyAllOf
 Convenience type for chaining multiple FlushPolicies with AND. More...
 
class  FlushPolicyAnyOf
 Convenience type for chaining multiple FlushPolicies with OR. More...
 
class  FlushPolicyNoneOf
 Convenience type for chaining multiple FlushPolicies with NOR. More...
 
class  TimedFlushPolicy
 A Flush-Policy which acts on a durations. More...
 
class  ByteCountFlushPolicy
 A Flush-Policy which acts on accumulated byte count. More...
 
class  ISink
 Sink interface class. More...
 
class  ScopedSinkDisabling
 Wrapper class which disables Sinks on construction and enables them on destruction. More...
 
class  SinkException
 
struct  LoggerTypedefs
 Provides a layer of abstraction to Record member types. More...
 
class  BaseLogger
 Convenience class for generating Record s. More...
 
class  OStreamSink
 An std::ostream orientated Sink class which extends BasicSink. More...
 
class  Equals
 Compares equality with constant at invocation. More...
 
class  NotEquals
 Compares non-equality with constant at invocation. More...
 
class  Less
 Compares less-ordering with constant at invocation. More...
 
class  Greater
 Compares greater-ordering with constant at invocation. More...
 
class  LessEquals
 Compares less-equality-ordering with constant at invocation. More...
 
class  GreaterEquals
 Compares greater-equality-ordering with constant at invocation. More...
 
class  Between
 Compares less-ordering with high and greater-ordering with low constant at invocation. More...
 
class  BetweenEquals
 Compares less-equality-ordering with high and greater-equality-ordering with low constant at invocation. More...
 
struct  RecordTypedefs
 Provides a layer of abstraction to Record member types. More...
 
struct  RecordGetters
 Provides a layer of abstraction to Record member setter. More...
 
struct  RecordSetters
 Provides a layer of abstraction to Record member setter. More...
 
class  BaseRecord
 A collection of logging related information. More...
 
class  SetSev
 Manipulates the channel of the current RecordBuilder object. More...
 
class  SetChan
 Manipulates the channel of the current RecordBuilder object. More...
 
class  RecordBuilder
 Helper class for building new Records. More...
 
class  RecordQueue
 Storage for Record s. More...
 
class  StringPattern
 Helper class for generating patterned strings. More...
 

Typedefs

using AlwaysFlushPolicy = FlushPolicy< detail::ConstantInvokable< true > >
 A Flush-Policy which returns always true. More...
 
template<class TLogger >
using LoggerRecord_t = typename LoggerTypedefs< TLogger >::Record_t
 Typedef for easier access to Logger's Record type. More...
 
template<class TRecord >
using RecordMessage_t = typename RecordTypedefs< TRecord >::Message_t
 Typedef for easier access to Record's message type. More...
 
template<class TRecord >
using RecordSeverity_t = typename RecordTypedefs< TRecord >::Severity_t
 Typedef for easier access to Record's severity type. More...
 
template<class TRecord >
using RecordChannel_t = typename RecordTypedefs< TRecord >::Channel_t
 Typedef for easier access to Record's channel type. More...
 
template<class TRecord >
using RecordTimePoint_t = typename RecordTypedefs< TRecord >::TimePoint_t
 Typedef for easier access to Record's time-point type. More...
 

Functions

std::ostream & operator<< (std::ostream &out, const ConsoleTextStyle &style)
 Operator << overload for ConsoleTextStyle type. More...
 
template<Record TRecord, std::invocable< const TRecord & > TProjection, class TTable = std::unordered_map< std::remove_cvref_t<std::invoke_result_t<TProjection, const TRecord&>>, ConsoleTextStyle >>
auto makeConsoleTextStyleTableFor (TProjection projection, TTable table)
 The factory function for creating ConsoleTextStyleTable instances. More...
 
template<Record TRecord, std::predicate< const RecordMessage_t< TRecord > & > TUnaryPredicate>
constexpr auto makeMessageFilterFor (TUnaryPredicate &&predicate)
 Factory function for creating ProjectionFilter of Record::message member. More...
 
template<Record TRecord, std::predicate< const RecordSeverity_t< TRecord > & > TUnaryPredicate>
constexpr auto makeSeverityFilterFor (TUnaryPredicate &&predicate)
 Factory function for creating ProjectionFilter of Record::severity member. More...
 
template<Record TRecord, std::predicate< const RecordChannel_t< TRecord > & > TUnaryPredicate>
constexpr auto makeChannelFilterFor (TUnaryPredicate &&predicate)
 Factory function for creating ProjectionFilter of Record::channel member. More...
 
template<Record TRecord, std::predicate< const RecordTimePoint_t< TRecord > & > TUnaryPredicate>
constexpr auto makeTimePointFilterFor (TUnaryPredicate &&predicate)
 Factory function for creating ProjectionFilter of Record::timePoint member. More...
 
template<Record TRecord, std::predicate< const RecordMessage_t< TRecord > & > TUnaryPredicate>
constexpr auto makeMessageFlushPolicyFor (TUnaryPredicate &&predicate)
 Factory function for creating Flush-Policies based on Record::message member. More...
 
template<Record TRecord, std::predicate< const RecordSeverity_t< TRecord > & > TUnaryPredicate>
constexpr auto makeSeverityFlushPolicyFor (TUnaryPredicate &&predicate)
 Factory function for creating Flush-Policies based on Record::severity member. More...
 
template<Record TRecord, std::predicate< const RecordChannel_t< TRecord > & > TUnaryPredicate>
constexpr auto makeChannelFlushPolicyFor (TUnaryPredicate &&predicate)
 Factory function for creating Flush-Policies based on Record::channel member. More...
 
template<Record TRecord, std::predicate< const RecordTimePoint_t< TRecord > & > TUnaryPredicate>
constexpr auto makeTimePointFlushPolicyFor (TUnaryPredicate &&predicate)
 Factory function for creating Flush-Policies based on Record::timePoint member. More...
 

Variables

template<class T , class TRecord >
concept RecordFormatterFor
 Concept for invokable formatter objects. More...
 
template<class T , class TRecord >
concept RecordFilterFor
 Concept for invokable filter objects. More...
 
template<class T , class TRecord >
concept ConsoleTextStylePolicyFor
 Concept which checks for validity of given text style policy. More...
 
constexpr ConsoleTextStyle defaultConsoleTextStyle
 A constant object used for resetting the style back to default. More...
 
template<class T >
concept FileStateHandler = std::is_invocable_r_v<std::string, T>
 Concept for invokable file state handler objects. More...
 
template<class T , class TRecord >
concept FlushPolicyFor
 Concept for invokable flush policies. More...
 
template<class T >
concept Logger
 Concept for Logger classes. More...
 
template<class TRecord >
concept RecordMemberTypedefs
 Concept which checks for the necessary member typedefs of a Record type. More...
 
template<class TRecord >
concept RecordMemberGetters
 Concept which checks for the necessary member projections of a Record type. More...
 
template<class TRecord >
concept RecordMemberSetters
 Concept which checks for the necessary member setters of a Record type. More...
 
template<class TRecord >
concept Record
 Concept which all the necessary concepts for Record types. More...
 

Variable Documentation

◆ FlushPolicyFor

template<class T , class TRecord >
concept sl::log::FlushPolicyFor
Initial value:
=
Record<TRecord> &&
std::predicate<T, const TRecord&, std::size_t> &&
requires(T policy)
{
{ policy.flushed() };
}

Concept for invokable flush policies.