From: Andrey Semashev (andysem_at_[hidden])
Date: 2007-04-08 17:16:18
I have a question about the logging attributes concept.
I'm thinking now about the implementation of attributes, filtering and
sinks (in particular, formatting log messages in sinks) and I come to
a conclusion that we have to mandate the set of types that will be
used in the attributes<->logging library interface. The reason we have
to do this is that the library should be able to be compiled
separately from the user's code (i.e., in dll), which defines the
attributes. It doesn't mean, though, that the user won't be able to
define arbitrary types of attributes, but these types should be
representable in one of a predefined set of types.
For now I see the following types set being suitable for this purpose:
- unsigned int
- long long
- unsigned long long
- std::string or std::wstring, depending on the library configuration
- boost::any. This won't be supported by the library's sinks out of
box and is aimed for extensibility on the users' behalf.
I know such lack of generalization is not welcome, but I can't figure
out any other way to organize interaction between different dlls.
Maybe there are other opinions?
-- Best regards, Andrey mailto:andysem_at_[hidden]
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk