Pantheios is an open source C/C++ Logging API library, offering an optimal combination of 100% type-safety, efficiency, genericity and extensibility. It is simple to use and extend, highly-portable (platform and compiler-independent) and, best of all, it upholds the C tradition of you only pay for what you use.
Pantheios supports logging of message statements of arbitrary complexity, consisting of heterogeneous types.
Pantheios supports filtering of log messages based on severity level including (but not limited to) the eight levels defined by the SysLog protocol.
Pantheios supports back-end output, individually and in combination, to stderr/stdout, SysLog (including a custom implementation of the SysLog protocol for Windows), Windows debugger, Windows event log, COM Error Object, Speech, or any custom back-end extension you care to write. Importantly, Pantheios is readily extended to use the existing transport mechanisms of feature-rich logging libraries such as ACE, log4cpp, log4cplus, log4cxx.
Pantheios does not contain any compiler-specific or platform-specific constructs. It supports UNIX (including Linux and Mac OS-X), and Windows, and should work with any operating system. It is known to be compatible with Borland (5.6+), Comeau (4.3.3+), Digital Mars (8.45+), GCC (3.4+), Intel (7+), Metrowerks (8+), Microsoft Visual C++ (6.0+), and should work with any reasonably modern C++ compiler.
Pantheios is completely free and includes source released under a BSD-style license. Commercial servics, including bespoke customisations, are available from Synesis Software Pty Ltd; http://synesis.com.au/contact.html
Pantheios Training is provided by Synesis Software Pty Ltd; details at http://synesis.com.au/training.html
Release 1.0.1 beta 214 incorporates:
* added variant_bool inserter, for COM Automation type VARIANT_BOOL
* added new core API function pantheios_getProcessIdentity(), which reflects new dynamic process identity semantics for front-ends, and new C++ alias pantheios::getProcessIdentity()
* added PANTHEIOS_CARG_STR()/PANTHEIOS_CARG_STR_LEN() macros
* added makefile for Intel C/C++ 12
* pantheios::character inserter now compatible with wide characters, and allow conversion construction from char when widestring mode (i.e. expecting wchar_t)
* adjusted core initialisation to support new dynamic process identity semantics for front-ends
* preparations for division of core (and later implementation in C)
* refactoring of memory-pool
* changed way in which core discriminates atomic integer operation support when in multithreaded mode
* pantheios::inserter adaptor is now wide-string compatible
* added test.component.core.getProcessIdentity project
* added test.component.inserters.variant_bool
* added test.scratch.be.WindowsSyslog project
* added test.scratch.be.WindowsSyslog.WithCallback project
* bec.WindowsConsole now implemented in terms of pantheios_util_snprintf(), and made fully compatible with 64-bit
* fixed bec.WindowsSyslog defect in arguments parsing (whereby supplied address would be ignored)
* removed use of deprecated format flag 'zeroPadded', replaced with 'zeroPad'
* wholesale tidying of definition of PANTHEIOS_FE_PROCESS_IDENTITY (in terms of PANTHEIOS_EXTERN_C and PANTHEIOS_LITERAL_STRING())
* wholesale changes for compatibility with STLSoft 1.9.115+'s integer_to_string
* NOTE: Now requires STLSoft 1.9.115
Pantheios website: http://pantheios.org/
Note: this release of Pantheios requires STLSoft 1.9.115, or later; download from http://stlsoft.org/