C++ Actor Framework 0.18
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
caf::logger Class Reference

Centrally logs events from all actors in an actor system. More...

#include <logger.hpp>

Inheritance diagram for caf::logger:
caf::ref_counted

Classes

struct  config
 Combines various logging-related flags and parameters into a bitfield. More...
 
struct  event
 Encapsulates a single logging event. More...
 
struct  field
 Represents a single format string field. More...
 
class  line_builder
 Utility class for building user-defined log messages with CAF_ARG. More...
 

Public Types

enum  field_type {
  invalid_field ,
  category_field ,
  class_name_field ,
  date_field ,
  file_field ,
  line_field ,
  message_field ,
  method_field ,
  newline_field ,
  priority_field ,
  runtime_field ,
  thread_field ,
  actor_field ,
  percent_sign_field ,
  plain_text_field
}
 
using line_format = std::vector< field >
 Stores a parsed format string as list of fields.
 

Public Member Functions

void log (event &&x)
 Writes an entry to the event-queue of the logger.
 
bool accepts (unsigned level, string_view component_name)
 Returns whether the logger is configured to accept input for given component and log level.
 
const line_formatfile_format () const
 Returns the output format used for the log file.
 
const line_formatconsole_format () const
 Returns the output format used for the console.
 
unsigned verbosity () const noexcept
 
unsigned file_verbosity () const noexcept
 
unsigned console_verbosity () const noexcept
 
void render (std::ostream &out, const line_format &lf, const event &x) const
 Renders x using the line format lf to out.
 
- Public Member Functions inherited from caf::ref_counted
 ref_counted (const ref_counted &)
 
ref_countedoperator= (const ref_counted &)
 
void ref () const noexcept
 Increases reference count by one.
 
void deref () const noexcept
 Decreases reference count by one and calls request_deletion when it drops to zero.
 
bool unique () const noexcept
 Queries whether there is exactly one reference.
 
size_t get_reference_count () const noexcept
 

Static Public Member Functions

static actor_id thread_local_aid ()
 Returns the ID of the actor currently associated to the calling thread.
 
static actor_id thread_local_aid (actor_id aid)
 Associates an actor ID to the calling thread and returns the last value.
 
static void render_fun_prefix (std::ostream &out, const event &x)
 Renders the prefix (namespace and class) of a fully qualified function.
 
static void render_fun_name (std::ostream &out, const event &x)
 Renders the name of a fully qualified function.
 
static void render_date (std::ostream &out, timestamp x)
 Renders the date of x in ISO 8601 format.
 
static line_format parse_format (const std::string &format_str)
 Parses format_str into a format description vector.
 
static string_view skip_path (string_view filename)
 Skips path in filename.
 
template<class T >
static std::enable_if< std::is_base_of< mixin::subscriber_base, T >::value, std::string >::type joined_groups_of (const T &x)
 Returns a string representation of the joined groups of x if x is an actor with the subscriber mixin.
 
template<class T >
static std::enable_if<!std::is_base_of< mixin::subscriber_base, T >::value, constchar * >::type joined_groups_of (const T &x)
 Returns a string representation of an empty list if x is not an actor with the subscriber mixin.
 
static void set_current_actor_system (actor_system *)
 Stores the actor system for the current thread.
 
static loggercurrent_logger ()
 Returns the logger for the current thread or nullptr if none is registered.
 

Static Public Attributes

static constexpr size_t queue_size = 128
 Configures the size of the circular event queue.
 

Friends

class actor_system
 

Additional Inherited Members

- Protected Attributes inherited from caf::ref_counted
std::atomic< size_t > rc_
 

Detailed Description

Centrally logs events from all actors in an actor system.

To enable logging in your application, you need to define CAF_LOG_LEVEL. Per default, the logger generates log4j compatible output.

Member Function Documentation

◆ log()

void caf::logger::log ( event &&  x)

Writes an entry to the event-queue of the logger.

@thread-safe

◆ parse_format()

static line_format caf::logger::parse_format ( const std::string &  format_str)
static

Parses format_str into a format description vector.

Warning
The returned vector can have pointers into format_str.

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