summaryrefslogtreecommitdiff
path: root/examples/APG/Logging/Callback-2.h
diff options
context:
space:
mode:
Diffstat (limited to 'examples/APG/Logging/Callback-2.h')
-rw-r--r--examples/APG/Logging/Callback-2.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/examples/APG/Logging/Callback-2.h b/examples/APG/Logging/Callback-2.h
new file mode 100644
index 00000000000..bd07db02cfc
--- /dev/null
+++ b/examples/APG/Logging/Callback-2.h
@@ -0,0 +1,39 @@
+// $Id$
+
+#include "ace/OS_NS_time.h"
+#include "ace/streams.h"
+#include "ace/Log_Msg_Callback.h"
+#include "ace/Log_Record.h"
+#include "ace/SString.h"
+
+class Callback : public ACE_Log_Msg_Callback
+{
+public:
+ void log (ACE_Log_Record &log_record)
+ {
+ cerr << "Log Message Received:" << endl;
+ unsigned long msg_severity = log_record.type ();
+ ACE_Log_Priority prio =
+ ACE_static_cast (ACE_Log_Priority, msg_severity);
+ const ACE_TCHAR *prio_name =
+ ACE_Log_Record::priority_name (prio);
+ cerr << "\tType: "
+ << ACE_TEXT_ALWAYS_CHAR (prio_name)
+ << endl;
+
+ cerr << "\tLength: " << log_record.length () << endl;
+
+ const time_t epoch = log_record.time_stamp ().sec ();
+ cerr << "\tTime_Stamp: "
+ << ACE_TEXT_ALWAYS_CHAR (ACE_OS::ctime (&epoch))
+ << flush;
+
+ cerr << "\tPid: " << log_record.pid () << endl;
+
+ ACE_CString data (">> ");
+ data += ACE_TEXT_ALWAYS_CHAR (log_record.msg_data ());
+
+ cerr << "\tMsgData: " << data.c_str () << endl;
+ }
+};
+