Information
We are currently investigating an issue with the editor of some pages. Please save your work and avoid to create new pages until this banner is gone.
...
The local handler just formats the logs in a convenient way to stdout, while the central handler takes advantage of the ACS Log Service to distribute the logs to any interested client.
The notification channelÂ
...
The C++ logging implementation is based in the ACE Logging framework which imposes several restrictions and complications for the implementation. The design for the logging system is similar to log4j, python logging, etc. which is convenient and familiar, offering different handlers for stdout, file, central logger, etc.
As opposed to Java and Python, in C++ it was decided that the logger reference would not be handled by developers, but instead there are macros that can be called from any place and those macros have the responsibility of obtaining an appropriate logger instance for performing the log calls.
The Notification Channel is a CORBA service for decoupled messaging through events. We're currently using the implementation provided by ACE/TAO through the Notify Service. For more details please look at the Notification Channel technical document.
The Central Logger is a CORBA-based service that is used to receive a set of logs and redistribute it to interested parties in a decoupled way through the Notification Channel.
This service is implemented in C++ and is part of the ACS/LGPL/CommonSoftware/logging module.
The ACS Log Service is a simple CORBA service that receives log requests to be propagated to the Central Logger. It takes advantage of the C++ logging implementation and simply calls the existing C++ macros that will call the Central Logger service methods.
This service is implemented in C++ and is part of the ACS/LGPL/CommonSoftware/acslog module.
Children Display |
---|