I don't use manipulate_logs(), is this a more recent version? I'm using 1.33 of logging lib. Here is the code I use: // dll.h namespace co { BOOST_DECLARE_LOG_DLL(dbg) BOOST_DECLARE_LOG_DLL(info) BOOST_DECLARE_LOG_DLL(warn) BOOST_DECLARE_LOG_DLL(err) // init logs of dll: YOUR_DLL_DECL void initLogsDefault(); } // dll.cpp namespace co { BOOST_DEFINE_LOG_DLL(dbg, "dbg.common") BOOST_DEFINE_LOG_DLL(info, "info.common") BOOST_DEFINE_LOG_DLL(warn, "warn.common") BOOST_DEFINE_LOG_DLL(err, "err.common") void initLogsDefault() { // default on Windows is full buffering; disable this // for stdout and stderr setvbuf(stdout, NULL, _IONBF, 0); setvbuf(stderr, NULL, _IONBF, 0); using namespace boost::logging; // all logs prefix the message by time add_modifier("*", prepend_time("$hh:$mm:$ss "), DEFAULT_INDEX + 1 ); // all log' messages are prefixed by the log name add_modifier("*", &prepend_prefix); } } // main.cpp void initLogs() { co::initLogsDefault(); using namespace boost::logging; add_appender("*", write_to_cout); flush_log_cache(); } int main() { initLogs(); ... } As you can see, you don't even need to enable anything, that's the default. However you do need appenders. The BOOST_DEFINE_LOG_DLL and declare counterpart were explained in my last email on same topic, and YOUR_DLL_DECL is __decl_export/import. Let me know if that still doesn't work for you. Oliver
-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Austin Bingham Sent: August 18, 2005 7:00 AM To: boost-users@lists.boost.org Subject: Re: [Boost-users] boost logging from shared libraries
Thanks, I think this is relevant to my problem. When you say "proper appender for my dll logs", are you indicating that there is somehow a special appender for shared library logs? Or just that I need to have some appender for them? In my executable, I've got something to the effect of:
manipulate_logs("*").add_appender(write_to_cout);
This is working for the logs messages from the executable, but not from the shared libs. Is there something else I need to do?
Austin
On 8/17/05, Oliver Schoenborn
wrote: I have some dll's that have their own logs (each dll has a distinct namespace), they can be enabled/disabled with enable_log()/disable_log(). The main program has yet another set of logs. Just make sure that you have the proper appender for your dll logs. Sorry if this is not relevant to your problem. Oliver
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users