Gaudi Framework, version v20r2

Generated: 18 Jul 2008

Message.cpp File Reference

#include <string>
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <cctype>
#include "GaudiKernel/IMessageSvc.h"
#include "GaudiKernel/Message.h"
#include "GaudiKernel/Timing.h"
#include "GaudiKernel/time_r.h"

Include dependency graph for Message.cpp:

Go to the source code of this file.

Defines

#define SET(x)   case x: level=#x; break

Functions

std::string formattedTime (std::string fmt, bool universal=false)
std::ostreamoperator<< (std::ostream &stream, const Message &msg)
bool operator== (const Message &a, const Message &b)
std::string formattedTime (std::string fmt, bool universal)


Define Documentation

#define SET (  )     case x: level=#x; break

Referenced by Message::decodeFormat().


Function Documentation

std::string @393::formattedTime ( std::string  fmt,
bool  universal 
) [static]

Definition at line 456 of file Message.cpp.

References std::basic_string< _CharT, _Traits, _Alloc >::c_str(), System::currentTime(), std::basic_string< _CharT, _Traits, _Alloc >::find(), System::milliSec, std::basic_string< _CharT, _Traits, _Alloc >::npos, and std::basic_string< _CharT, _Traits, _Alloc >::replace().

00457   {
00458     // get current time in milliseconds
00459     longlong t = System::currentTime( System::milliSec );
00460     int msec = static_cast<int>(t % 1000);
00461     time_t sec = static_cast<time_t>(t / 1000);
00462     
00463     // convert to break-down time
00464     struct tm tms ;
00465     if (universal) {
00466       gmtime_r( &sec, &tms );
00467     } else {
00468       localtime_r( &sec, &tms );
00469     }
00470     
00471     // replace %f in the format string with miliseconds
00472     std::string::size_type n = fmt.find("%f") ;
00473     if ( n != std::string::npos ) {
00474       char subs[4] ;
00475       sprintf ( subs, "%03d", msec ) ;
00476       while ( n != std::string::npos ) {
00477         fmt.replace ( n, 2, subs ) ;
00478         n = fmt.find("%f") ;
00479       }
00480     }
00481     
00482     char buf[128] ;
00483     strftime(buf, 128, fmt.c_str(), &tms );
00484     return std::string( buf );
00485   }

std::string @393::formattedTime ( std::string  fmt,
bool  universal = false 
) [static]

Referenced by Message::decodeFormat().

std::ostream& operator<< ( std::ostream stream,
const Message msg 
)

Definition at line 148 of file Message.cpp.

References Message::m_format, Message::m_formatted_msg, and Message::makeFormattedMsg().

00149 {
00150   msg.makeFormattedMsg( msg.m_format );
00151   stream << msg.m_formatted_msg;
00152   return stream;
00153 }

bool operator== ( const Message a,
const Message b 
)

Definition at line 174 of file Message.cpp.

References Message::m_message, Message::m_source, and Message::m_type.

00175 {
00176   return a.m_source == b.m_source &&
00177     a.m_type == b.m_type &&
00178     a.m_message == b.m_message;
00179 }


Generated at Fri Jul 18 12:04:08 2008 for Gaudi Framework, version v20r2 by Doxygen version 1.5.1 written by Dimitri van Heesch, © 1997-2004