Hello Andrew,
I'm not sure to understand what you want to do.
If you want to pass parameters to a logger, you can use logging macros, See: http://logging.apache.org/log4cxx/manual/group__LoggingMacros.html
If you want to override the class LoggingEvent, you have to override the class Logger in order to instanciate your LoggingEvent class in Logger::forcedLog. But it's not advised for you won't be able to use the SocketAppender anymore.
Micha�l
Shuvalov, Andrew V wrote:
Hi,
I'm trying to subclass the LoggingEvent to use it in my own macros, but apparently I don't have that much control over it. In particular, I have to supply the message in constructor, and after that it is read-only. Let me explain why do I need access to write into the message.
I want to pass arbitrary parameters to my LoggingEvent in the log macros. For example, I want to write:
MY_ERROR ("my.code", "Can't format the hard drive" << ErrorCode(5));
Here I can pass optional parameter ErrorCode in the stream. To do so, I need to make my LoggingEvent to be ostream itself. But in order to do so, I need to instantiate it with empty message first. So I'd like to see a protected method "setMessage(const String &msg)".
Is it possible?
Thanks Andrew
P.S. Please don't forget my recent Solaris socket patch.
