summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys/posix
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2007-05-30 16:13:58 +0000
committerAlan Conway <aconway@apache.org>2007-05-30 16:13:58 +0000
commit1d63a898503d20e3221be43fc222f0091971a0ce (patch)
tree78d8673b9ed8820e431b6a6f353ba0143adeb800 /cpp/src/qpid/sys/posix
parentf2b034ea3f4fa70e512fafdf18fd42c370194329 (diff)
downloadqpid-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.cpp6
-rw-r--r--cpp/src/qpid/sys/posix/EventChannelConnection.cpp10
-rw-r--r--cpp/src/qpid/sys/posix/EventChannelThreads.cpp8
-rw-r--r--cpp/src/qpid/sys/posix/Module.h3
-rw-r--r--cpp/src/qpid/sys/posix/Thread.h6
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();