Slic User Guide¶
Slic provides a light-weight, modular and extensible logging infrastructure that simplifies logging application messages.
- Interoperability across the constituent libraries of an application. Messages logged by an application and any of its libraries using Slic have a unified format and routed to a centralized output destination.
- Customizable Log Message Format to suit application requirements.
- Customizable handling and filtering of log messages by extending the Log Stream base class.
- Built-In Log Streams to support common logging use cases, e.g., log to a file or console.
- Native integration with Lumberjack for logging and filtering of messages at scale.
- Fortran bindings that provide an idiomatic API for Fortran applications.
Slic is designed to be light-weight and self-contained. The only requirement for using Slic is a C++11 compliant compiler. However, to use Slic in the context of a distributed parallel application and in conjunction with Lumberjack, support for building with MPI is provided.
About this Guide¶
This guide presents core concepts, key capabilities, and guiding design principles of Slic’s Component Architecture. To get started with using Slic quickly within an application, see the Getting Started with Slic section. For more detailed information on the interfaces of the various classes and functions in Slic, developers are advised to consult the Slic Doxygen API.
- Getting Started with Slic
- Component Architecture
- Wrapping Slic in Macros