#include "ace/Log_Priority.h"
#include "ace/Default_Constants.h"
#include "ace/Basic_Types.h"
#include "ace/iosfwd.h"
#include "ace/Log_Record.inl"
Go to the source code of this file.
Classes | |
class | ACE_Log_Record |
Defines the structure of an ACE logging record. More... | |
Functions | |
ACE_Export int | operator>> (ACE_InputCDR &cdr, ACE_Log_Record &log_record) |
ACE_Export int | operator<< (ACE_OutputCDR &cdr, const ACE_Log_Record &log_record) |
Definition in file Log_Record.h.
ACE_Export int operator<< | ( | ACE_OutputCDR & | cdr, | |
const ACE_Log_Record & | log_record | |||
) |
Definition at line 328 of file Log_Record.cpp.
{ // The written message length can't be more than 32 bits (ACE_CDR::ULong) // so reduce it here if needed. ACE_CDR::ULong u_msglen = ACE_Utils::truncate_cast<ACE_CDR::ULong> (log_record.msg_data_len ()); // Insert each field from <log_record> into the output CDR stream. cdr << ACE_CDR::Long (log_record.type ()); cdr << ACE_CDR::Long (log_record.pid ()); cdr << ACE_CDR::LongLong (log_record.time_stamp ().sec ()); cdr << ACE_CDR::Long (log_record.time_stamp ().usec ()); cdr << u_msglen; #if defined (ACE_USES_WCHAR) cdr.write_wchar_array (log_record.msg_data (), u_msglen); #else cdr.write_char_array (log_record.msg_data (), u_msglen); #endif /* ACE_USES_WCHAR */ return cdr.good_bit (); }
ACE_Export int operator>> | ( | ACE_InputCDR & | cdr, | |
ACE_Log_Record & | log_record | |||
) |
Definition at line 351 of file Log_Record.cpp.
{ ACE_CDR::Long type; ACE_CDR::Long pid; ACE_CDR::LongLong sec; ACE_CDR::Long usec; ACE_CDR::ULong buffer_len; // Extract each field from input CDR stream into <log_record>. if ((cdr >> type) && (cdr >> pid) && (cdr >> sec) && (cdr >> usec) && (cdr >> buffer_len)) { ACE_TCHAR *log_msg; ACE_NEW_RETURN (log_msg, ACE_TCHAR[buffer_len + 1], -1); auto_ptr<ACE_TCHAR> log_msg_p (log_msg); log_record.type (type); log_record.pid (pid); log_record.time_stamp (ACE_Time_Value (ACE_Utils::truncate_cast<time_t> (sec), usec)); #if defined (ACE_USES_WCHAR) cdr.read_wchar_array (log_msg, buffer_len); #else cdr.read_char_array (log_msg, buffer_len); #endif /* ACE_USES_WCHAR */ log_msg[buffer_len] = '\0'; if (-1 == log_record.msg_data (log_msg)) return -1; } return cdr.good_bit (); }