diff options
| author | Alan Conway <aconway@apache.org> | 2007-05-30 16:13:58 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2007-05-30 16:13:58 +0000 |
| commit | 1d63a898503d20e3221be43fc222f0091971a0ce (patch) | |
| tree | 78d8673b9ed8820e431b6a6f353ba0143adeb800 /cpp/src/qpid/sys/posix | |
| parent | f2b034ea3f4fa70e512fafdf18fd42c370194329 (diff) | |
| download | qpid-python-1d63a898503d20e3221be43fc222f0091971a0ce.tar.gz | |
Logging infrastructure: See qpidd --long-help for details.
* src/qpid/log/*: Logging infrastructure, QPID_LOG macro.
* src/*: changed output to cout/cerr to logging.
* src/qpidd.cpp: logging options.
* src/tests/Makefile.am: fixed issues with valgrind
* src/tests/kill|start_broker: use broker daemon options.
* src/tests/run_test: run tests in valgrind. Disabled till leaks in
client_test are fixed.
* src/test/unit/logging.cpp: Logging unit test using boost test framework.
Eventually we should move all unit tests to boost & drop CppUnit.
* src/test/unit/test_tools.h: useful extensions to boost framework:
Regular expression check, ostream << for vectors.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@542855 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/sys/posix')
| -rw-r--r-- | cpp/src/qpid/sys/posix/EventChannel.cpp | 6 | ||||
| -rw-r--r-- | cpp/src/qpid/sys/posix/EventChannelConnection.cpp | 10 | ||||
| -rw-r--r-- | cpp/src/qpid/sys/posix/EventChannelThreads.cpp | 8 | ||||
| -rw-r--r-- | cpp/src/qpid/sys/posix/Module.h | 3 | ||||
| -rw-r--r-- | cpp/src/qpid/sys/posix/Thread.h | 6 |
5 files changed, 18 insertions, 15 deletions
diff --git a/cpp/src/qpid/sys/posix/EventChannel.cpp b/cpp/src/qpid/sys/posix/EventChannel.cpp index 8dc736ed0b..6db397a165 100644 --- a/cpp/src/qpid/sys/posix/EventChannel.cpp +++ b/cpp/src/qpid/sys/posix/EventChannel.cpp @@ -33,6 +33,7 @@ #include "qpid/QpidError.h" #include "qpid/sys/Monitor.h" +#include "qpid/log/Statement.h" #include "check.h" #include "EventChannel.h" @@ -190,9 +191,8 @@ Event* EventChannel::getEvent() &epollEvent, 1, infiniteTimeout); if (eventCount < 0) { if (errno != EINTR) { - // TODO aconway 2006-11-28: Proper handling/logging of errors. - cerr << BOOST_CURRENT_FUNCTION << " ignoring error " - << PosixError::getMessage(errno) << endl; + QPID_LOG(warn, "Ignoring error: " + << PosixError::getMessage(errno)); assert(0); } } diff --git a/cpp/src/qpid/sys/posix/EventChannelConnection.cpp b/cpp/src/qpid/sys/posix/EventChannelConnection.cpp index 73e617ea83..0c1c81b6fe 100644 --- a/cpp/src/qpid/sys/posix/EventChannelConnection.cpp +++ b/cpp/src/qpid/sys/posix/EventChannelConnection.cpp @@ -24,6 +24,7 @@ #include "EventChannelConnection.h" #include "qpid/sys/ConnectionInputHandlerFactory.h" #include "qpid/QpidError.h" +#include "qpid/log/Statement.h" using namespace std; using namespace qpid; @@ -132,8 +133,7 @@ void EventChannelConnection::startWrite() { } // No need to lock here - only one thread can be writing at a time. out.clear(); - if (isTrace) - cout << "Send on socket " << writeFd << ": " << *frame << endl; + QPID_LOG(trace, "Send on socket " << writeFd << ": " << *frame); frame->encode(out); out.flip(); writeEvent = WriteEvent( @@ -215,10 +215,8 @@ void EventChannelConnection::endRead() { in.flip(); AMQFrame frame; while (frame.decode(in)) { - // TODO aconway 2006-11-30: received should take Frame& - if (isTrace) - cout << "Received on socket " << readFd - << ": " << frame << endl; + QPID_LOG(trace, "Received on socket " << readFd + << ": " << frame); handler->received(&frame); } in.compact(); diff --git a/cpp/src/qpid/sys/posix/EventChannelThreads.cpp b/cpp/src/qpid/sys/posix/EventChannelThreads.cpp index ec58a03671..68c57405d5 100644 --- a/cpp/src/qpid/sys/posix/EventChannelThreads.cpp +++ b/cpp/src/qpid/sys/posix/EventChannelThreads.cpp @@ -18,6 +18,7 @@ #include "EventChannelThreads.h" #include "qpid/sys/Runnable.h" +#include "qpid/log/Statement.h" #include <iostream> using namespace std; #include <boost/bind.hpp> @@ -106,13 +107,10 @@ void EventChannelThreads::run() } } catch (const std::exception& e) { - // TODO aconway 2006-11-15: need better logging across the board. - std::cerr << "EventChannelThreads::run() caught: " << e.what() - << std::endl; + QPID_LOG(error, e.what()); } catch (...) { - std::cerr << "EventChannelThreads::run() caught unknown exception." - << std::endl; + QPID_LOG(error, "unknown exception"); } } diff --git a/cpp/src/qpid/sys/posix/Module.h b/cpp/src/qpid/sys/posix/Module.h index af3d6ac6ef..a02b9d1a52 100644 --- a/cpp/src/qpid/sys/posix/Module.h +++ b/cpp/src/qpid/sys/posix/Module.h @@ -23,6 +23,7 @@ */ #include "qpid/QpidError.h" +#include "qpid/log/Statement.h" #include <boost/noncopyable.hpp> #include <iostream> @@ -83,7 +84,7 @@ template <class T> Module<T>::~Module() throw() } if (handle) unload(); } catch (std::exception& e) { - std::cout << "Error while destroying module: " << e.what() << std::endl; + QPID_LOG(error, "Error while destroying module: " << e.what()); } destroy = 0; handle = 0; diff --git a/cpp/src/qpid/sys/posix/Thread.h b/cpp/src/qpid/sys/posix/Thread.h index 9de7299f5a..631a5d5378 100644 --- a/cpp/src/qpid/sys/posix/Thread.h +++ b/cpp/src/qpid/sys/posix/Thread.h @@ -34,6 +34,12 @@ class Thread { public: inline static Thread current(); + + /** ID of current thread for logging. + * Workaround for broken Thread::current() in APR + */ + static long logId() { return current().id(); } + inline static void yield(); inline Thread(); |
