On Feb 2, 2005, at 11:01 PM, Kadarkarai, Prabhakar (Prabhakar) wrote:

Hello All,
Right now I can send String message to LogCxx methods.

            logger->debug(_T(“Debug Message”));

Can I send anything other than String to LogCXX methods ? If so, how? Any example would be great.

The CVS HEAD logging methods and macros will accept char*, wchar_t*, std::string and std::wstring. If the demand is there, this could be expanded to include other string types (for example, MFC's CString) with appropriate #ifdef's.


The logstream class defined in <log4cxx/stream.h> can take advantage of any insertion operators into std::ostream<wchar_t>. There is an example of this usage in the unit tests for the logstream in tests/streamtestcase.cpp. In this example, an insertion operator is defined that will throw an exception if called and is used to check that short-circuiting is effective. However, the pattern should work as well for real insertion operations.

There are recurrent questions on the log4j mailing lists about "binary" messages (aka those that can not be represented effectively as strings). I assume examples of this would include pictures or audio clips. However, messages are assumed to be adequate represented as strings and no compelling use cases for binary logging have emerged. If this is your interest, please follow up on log4j user or logging general as log4cxx won't break new ground on this.



Reply via email to