Pantheios is comprised of four separate parts:
- Application Layer - the functions that application code uses in log statements, e.g. pantheios::log_DEBUG(), pantheios::log_INFORMATIONAL(), and so on.
- Core - prepares the statement by efficiently concatenating the elements (often without any memory allocation whatsoever).
- Back-end Layer - provides the process identity and determines whether a given severity level is currently to be emitted. Note: the front-end library must be implemented by the user, or one of the stock front-ends linked in.
- Front-end Layer - transports the prepared log statement to an output stream (such as console, COM Error Object, syslog, Windows Event Log, and many more). Note: the back-end library must be implemented by the user, or one of the stock back-ends linked in.
Together, these four parts interact with the body of the application as shown in the following figure: