Ceylan::Log Namespace Reference


Classes

class  Loggable
 All objects which should be able to log their behaviour should implement this interface. More...
class  ObjectChannel
 ObjectChannels correspond to log channels dedicated to a Ceylan object. More...
class  ObjectIdentifier
 This class encapsulates identifiers of Ceylan objects. More...
class  LogException
 Exception by all actors of the log service. More...
class  LogAggregator
 This abstract class is meant to store messages targeted at a set of channels which are conveyed thanks to a Log transport, and to generate a view of it. More...
class  LogAggregatorConsole
 This class implements the LogAggregator interface thanks to console-based direct output, hence with no file being written. More...
class  LogAggregatorHTML
 This class implements thanks to HTML files the LogAggregator interface. More...
class  LogAggregatorRaw
 This class implements the LogAggregator interface thanks to text files encoded with raw formatting. More...
class  LogChannel
 Log channels are thematic containers for log messages, meant to be used by LogAggregators. More...
class  LogHolder
class  LogListener
 LogListeners receive log messages propagated by LogTransports, and deliver them to an aggregator. More...
class  LogMessage
 This class encapsulates the concept of Log message. More...
class  LogPlug
 This class is in charge of managing the core of the Log system: it maintains a shared knowledge about all the implementation classes for LogSource, LogTransport, LogListener and LogAggregator, and links them together. More...
class  LogPlugClassical
 This class implements the LogPlug interface, registers the various instances of the log framework in their raw version, and creates the relevant standard channels. More...
class  LogPlugConsole
 This class implements the LogPlug interface, registers the various instances of the log framework in their raw version, and creates the relevant standard channels. More...
class  LogPlugHTML
class  LogPlugNull
 This class implements the LogPlug interface, registers the various instances of the log framework in their null version, and creates the relevant standard channels. More...
class  LogSource
 This is the mother class for every potential sender of Log messages. More...
class  LogTransport
 This abstract class has for mission to take a Log message from a LogSource and to bring it to the relevant LogListener. More...
class  LogTransportListenerRaw
 This class gathers the two endpoints of Log propagation: the LogTransport (the beginning) and the LogListener (the end). More...
class  MuteLogSource
 This is a specific child class of LogSource, whose role is to ignore log messages, in the context of the use of the null log plug. More...

Typedefs

typedef Ceylan::Uint8 LevelOfDetail
 This part of the Log system is meant to centralize common features needed by the actors of the Log framework.

Enumerations

enum  KnownPlugs { consolePlug, classicalPlug, HTMLPlug, nullPlug }
 List of the log plugs available to the LogHolder:. More...

Variables

CEYLAN_DLL const LevelOfDetail DefaultLevelOfDetailForMessage = 5
 The default level of detail for a Log message (5).
CEYLAN_DLL const LevelOfDetail MaximumLevelOfDetailForMessage = 0
CEYLAN_DLL const LevelOfDetail DefaultLevelOfDetailForListener = 10
 The default level of detail of a Log listener (10).
CEYLAN_DLL const LevelOfDetail MaximumLevelOfDetailForListener = 0
 The maximum level of detail for a Log Listener (0).

Typedef Documentation

This part of the Log system is meant to centralize common features needed by the actors of the Log framework.

See also:
LogPlug Logging system.
Ceylan's Log system uses interfaces defined in order to abstract, through an uniform paradigm, various log implementations: as being able to swap log implementations seamlessly is useful for programs and objects, they all make use of this Log interface to send their log messages. The interface in turn delegates log messages according to the registered log implementations, thanks to the LogPlug facility.

To store thematically log messages, log channels are available. They are designed to be subclassed by various implementations.

Each message has also its own level of detail.

The level of detail of a log message defines how important it is.

Levels start from 1 (the most important level), and the higher a level is, the less important the corresponding message is.

Example: level 2 messages are considered as more important than level 3 ones.

Log sources have also a level of detail, and they filter out their outgoing log messages if their own level of detail is smaller than the message's one, which would mean that this message is not important enough for that source.

Each Log listener has its own level of detail too (default: level 10).

A Log listener will output any message whose level is equal or smaller than its current level of detail.

Example: a listener with a registered level of detail of 4 will output a message with a level of 3 or 4, but will not propagate a message whose level is 5 or higher.

Incoming messages can be time-stamped if the corresponding Log channel option is set.

The six default log channels are:

1. info : to gather informative messages for the user 2. trace : to know where the execution went 3. debug : to help troubleshooting 4. warning: to notify that a non-critical execution property was not verified 5. error : to track down non-fatal abnormal behaviours 6. fatal : to trace fatal abnormalities, just before the immediate failure of the program.

A shadow log channel exists, logroot, it is used by the log system itself. Level of detail (LOD) for log messages and channels.

Definition at line 117 of file CeylanLog.h.


Enumeration Type Documentation

List of the log plugs available to the LogHolder:.

  • consolePlug: all logs are output in standard console streams, the default one being the standard log stream (clog), the others being the standard output stream (cout) and the standard error stream (cerr). Associated command-line option: '--consolePlug'.

  • classicalPlug: all logs are output in a *.log file, whose filename by default matches the executable name, with a raw encoding, all logs in chronological order. Associated command-line option: '--classicalPlug'

  • HTMLPlug: all logs are output in a set of HTML files gathered by a generated frameset, where each log channel has a dedicated HTML page. Associated command-line option: '--HTMLPlug'

  • nullPlug: no logs are stored. Associated command-line option: '--nullPlug'
Enumerator:
consolePlug 
classicalPlug 
HTMLPlug 
nullPlug 

Definition at line 68 of file CeylanLogHolder.h.


Variable Documentation

The default level of detail of a Log listener (10).

Definition at line 45 of file CeylanLog.cc.

Referenced by Ceylan::Log::LogAggregator::ConvertListenerLevelOfDetailToVerbosityLevel(), and Ceylan::Log::LogAggregator::getOverallVerbosityLevel().

The default level of detail for a Log message (5).

Let's define in a centralized way information shared at the framework level.

Definition at line 42 of file CeylanLog.cc.

Referenced by Ceylan::Log::LogAggregator::ConvertMessageLevelOfDetailToVerbosityLevel().

The maximum level of detail for a Log Listener (0).

Listeners with this level are interested only in top-priority messages.

Definition at line 46 of file CeylanLog.cc.

Referenced by Ceylan::Log::LogAggregator::ConvertListenerLevelOfDetailToVerbosityLevel().


Generated on Thu Jun 4 20:40:22 2009 for Ceylan by  doxygen 1.5.8