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). |
This part of the Log system is meant to centralize common features needed by the actors of the Log framework.
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.
List of the log plugs available to the LogHolder:.
Definition at line 68 of file CeylanLogHolder.h.
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().
Definition at line 43 of file CeylanLog.cc.
Referenced by Ceylan::Log::LogAggregator::ConvertMessageLevelOfDetailToVerbosityLevel(), and Ceylan::Log::LogAggregatorHTML::write().