00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _ACTIVEMQ_IO_LOGGINGOUTPUTSTREAM_H_
00019 #define _ACTIVEMQ_IO_LOGGINGOUTPUTSTREAM_H_
00020
00021 #include <activemq/util/Config.h>
00022 #include <decaf/io/FilterOutputStream.h>
00023 #include <decaf/util/logging/LoggerDefines.h>
00024
00025 namespace activemq{
00026 namespace io{
00027
00032 class AMQCPP_API LoggingOutputStream : public decaf::io::FilterOutputStream {
00033 private:
00034
00035 LOGDECAF_DECLARE(logger)
00036
00037 public:
00038
00048 LoggingOutputStream(OutputStream* next, bool own = false);
00049
00050 virtual ~LoggingOutputStream();
00051
00052 protected:
00053
00054 virtual void doWriteByte(unsigned char c);
00055
00056 virtual void doWriteArrayBounded(const unsigned char* buffer, int size, int offset, int length);
00057
00058 private:
00059
00063 void log(const unsigned char* buffer, int len);
00064
00065 };
00066
00067 }}
00068
00069 #endif