Points in this section are not necessarily going to be implemented. These are
mainly some thoughts on further improvements of the library.
-
Optimize scoped attributes. The idea is to store both the attribute and
the
shared_ptr
counter
on the stack. Currently, only the attribute is stored on the stack.
-
Optimize single-threaded configuration. In many places dynamic memory allocation
can be removed if multithreading support is disabled.
-
Support C++0x language features, like variadic templates.
-
Optionally support Intel
TBB. In particular, atomic types and thread-safe queue could be
useful.
-
Move from Boost.Regex
to Boost.Xpressive
internally. This would remove the dependency in the Boost.Regex
library module. However, Boost.Regex
support should be retained. Update: the internal reliance on Boost.Xpressive
is suspended until #3278
is fixed.
-
SNMP support. The idea is to implement a sink backend that would emit SNMP
traps as a result of processing log records. This needs quite an amount
of research and thinking over.
-
Provide a compile-time option to remove all logging from the application
(the compiled binary should contain no traces of logging internally). There
are two reasons for this request: attempting to achieve maximum performance
and concealing internal information, such as function names and internal
messages, to prevent reverse engineering in no-logging builds. Effectively,
this would require not only all library macros to be redefined to emptiness,
but also to provide dummy implementations of many library components. Needs
more consideration. Perhaps, suppressing only macros would be sufficient.
-
Provide a macro, like
BOOST_LOG_FUNCTION
,
but with ability to automatically log all function arguments.
-
Think over a header-only configuration. Perhaps, with a reduced functionality.
-
Provide a "bridge" sink backend that would transport log records
to a logging core of another character type. The sink could simplify integration
of different libraries and application that use logging with different
character types, when there's no way to unify character types.
-
Update syslog support to RFC
5424.
-
Improve library configuration options in order to be able to select which
particular sinks to compile.
-
Improve configurability of trivial logging, without sacrificing simplicity.
At least, provide a way to specify the log file name and file rotation
parameters.
-
Provide some kind of shared formatters. The idea is that several sinks
may use the same formatter. If a log record passes filtering to multiple
such sinks, the formatting is done just once for all sinks that share the
formatter.