Slic User Guide

Slic provides a light-weight, modular and extensible logging infrastructure that simplifies logging application messages.

API Documentation

Doxygen generated API documentation can be found here: API documentation

Key Features

  • 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.

For further information on how to build the Axom Toolkit, consult the Axom Quick Start Guide.