Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The This proposal of the C++ implementation of the logging system is based in ACE Logging and is Boost Log and will be part of the ACS/LGPL/CommonSoftware/logging module. Additionally there's the ACSLog service in ACS/LGPL/CommonSoftware/acslog module, which offers an entry point for using the logging system by any part of the system. Specifically it is used by Python logging framework for connecting with the central logger.

...

The LogSvcHandler is the first part of the logging system to relate with ACE LoggerBoost Log. It offers two convenience functions:

...

It makes an implementation of the log method based on the LoggingProxy and the ACE_Log_Msg boost::sinks::<FrontEnd> classes to interact with the local (stdout) and remote (logging service) endpoints.

ACE_Log_Msg

Boost Log sink frontend

The sink frontend The ACE_Log_Msg is part of the ACE Logging implementation in ACE middle-wareBoost Log implementation. It's purpose is to delegate a log call to a callback instance of the ACE_Log_Msg_Callback classone or more sink backend instances. The LoggingProxy is an extension of this classa sink backend extension.

The main purpose of the ACE_Log_Msg sink frontend class is to allow formatted error messages to be printed in a thread-safe (if configured) manner to various locations, such as stderr, cerr, a distributed logger, etc. while at the same time setting a priority (log level) to be considered for the logging to take place.

...

The LoggingProxy class is an extension of the ACE_Log_Msg_Callback Boost Log sink backend class, and is one of the central parts of C++ ACS Logging System.

...

The AcsLogService receives the sequence of records and distributes them through the Logging notification channel.

...

Boost Log sink backend

Is the back end processing class from ACE LoggerBoost Log. It can be derived to execute different tasks. For instance in ACS the CacheLogger extends the ACE_Log_Msg_Backend sink backend class. These sub-classes are meant to execute the actual work of the logging system.

CacheLogger

It inherits from ACE_Log_Msg_Backend sink backend and gives a basic interface for three of its subclasses (LocalFileLogger, LocalSyslogLogger and RemoteSyslogLogger). It includes the following methods:

...