Pantheios
|
|
|
|
|
Future Directions
Features that are anticipated/planned, but not yet implemented:
-
wide-character encoding support - currently Pantheios
supports only character encodings that use the
char type (such as ASCII, UTF-7,
UTF-8, Windows "ANSI"). Support for character encodings that
use the (wchar_t) type may be
introduced in a future version.
-
Layering over existing logging infrastructures via new back-end
- currently Pantheios provides a suite of stock back-ends whose
output streams are determined at link time. We've proven that a
new front-end/back-end pair is able to layer the peerless
Pantheios logging API over existing logging libraries, such as
log4cxx, that have sophisticated filtering, formatting and
transport functionality. A future version may include such a
combination as part of the distribution.
-
Support for localisation, via resource bundles
- because the Pantheios core sees (and understands) only string
slices, it should be reasonably easy to facilitate the use of
localised resource strings (which could be JIT-compiled) into which
the log statement arguments (given in the application layer) could
be inserted.
Work is underway on a companion (but independent) library
FastFormat. Inspired by
the internals of Pantheios and the features of log4cxx, it's
already been shown to be
than sprintf()
and
much faster than the IOStreams.
Expect Pantheios 1.1 to support syntax such as the following:
pantheios::flog(pantheios::notice, "The first arg {0}, and the second {1}, and the first again {0}", arg0, arg1);
Naturally, there'll be the same virtually non-existant cost if
logging (of a given severity level) is not enabled. Further, any
argument that is repeated will only be converted at most once.
Requests and contributions on these (and other) enhancements are welcomed.
|
See also
-
Essentials
- essential facts you need to know about Pantheios to
get up and running.
-
Pantheios Architecture
- introduction to the four parts of the Pantheios architecture: Application Layer,
Core, Front-end, Back-ends.
-
Downloads
- download the Pantheios library (source and binaries), samples, tools and
dependent projects.
-
Tutorials:
-
Getting Started
- a tutorial on getting started with Pantheios, using your
favourite compiler/operating-system.
-
Application Code
- a tutorial on using Pantheios logging constructs in your application code.
-
Front-Ends
- a tutorial on using the stock front end fe.simple, and extending Pantheios via custom front-ends.
-
Back-Ends
- a tutorial on using the stock back ends, and extending Pantheios via custom back-ends.
-
Back-End Splitting
- a description of how to use the stock be.lrsplit component to enable
splitting of logging output to multiple back-ends.
-
Library Selector Tool
- a Win32 program that can be used to select the explicit/implicit link options
for a given configuration.
-
Wrapping log4cxx
- a tutorial on wrapping the popular logging library
log4cxx in
custom front-end and back-end for use with Pantheios.
-
Related Material
- read up on the concepts of Shims & Type Tunneling, on the
STLSoft auto_buffer class, on namespace aliasing, and more ...
-
API Documentation
- once you've familiarised yourself with Pantheios via the tutorials, use the
online documentation for fine details on the API functions and types.
-
Performance
- performance tests, which demonstrate the claimed peerless performance
of Pantheios.
-
Future Directions
- features that are anticipated/planned, but not yet implemented.
|
|
|
Links
-
STLSoft
- The open-source, 100% header-only, C++ library providing operating system facades and STL extensions.
-
Synesis Software
- Custom software solutions and consultancy, and provider of free
system tools.
-
Kiwi Enterprises
- Provider of SysLog-related products, several of which are free.
-
The SysLog protocol
- The protocol that inspired the stock
back-end components and severity levels.
|
|
|