Log< T > Class Template Reference

#include <Log.hh>

Inheritance diagram for Log< T >:

Inheritance graph
[legend]
Collaboration diagram for Log< T >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Log ()
virtual ~Log ()
std::ostringstream & Get (TLogLevel level=logINFO)

Static Public Member Functions

static TLogLevelReportingLevel ()
static std::string ToString (TLogLevel level)
static TLogLevel FromString (const std::string &level)

Protected Attributes

std::ostringstream os

Private Member Functions

 Log (const Log &)
Logoperator= (const Log &)

Detailed Description

template<typename T>
class Log< T >

Definition at line 23 of file Log.hh.


Constructor & Destructor Documentation

template<typename T>
Log< T >::Log (  ) 

Definition at line 40 of file Log.hh.

00041 {
00042 }

template<typename T>
Log< T >::~Log (  )  [virtual]

Definition at line 54 of file Log.hh.

00055 {
00056     //os << std::endl;
00057     T::Output(os.str());
00058 }

template<typename T>
Log< T >::Log ( const Log< T > &   )  [private]


Member Function Documentation

template<typename T>
std::ostringstream & Log< T >::Get ( TLogLevel  level = logINFO  ) 

Definition at line 45 of file Log.hh.

Referenced by Log< T >::FromString().

00046 {
00047     //os << "- " << NowTime();
00048     os << " " << ToString(level) << ": ";
00049     os << std::string(level > logDEBUG1 ? level - logDEBUG1 : 0, '\t');
00050     return os;
00051 }

template<typename T>
TLogLevel & Log< T >::ReportingLevel (  )  [static]

Definition at line 61 of file Log.hh.

00062 {
00063     static TLogLevel reportingLevel = logINFO; //logDEBUG1;
00064     return reportingLevel;
00065 }

template<typename T>
std::string Log< T >::ToString ( TLogLevel  level  )  [static]

Definition at line 68 of file Log.hh.

Referenced by Log< T >::Get().

00069 {
00070         static const char* const buffer[] = {LOG_ERROR, WARNING, INFO,  DEBUG, DEBUG1};
00071     return buffer[level];
00072 }

template<typename T>
TLogLevel Log< T >::FromString ( const std::string &  level  )  [static]

Definition at line 75 of file Log.hh.

00076 {
00077     if (level == "DEBUG1")
00078         return logDEBUG1;
00079     if (level == "DEBUG")
00080         return logDEBUG;
00081     if (level == "INFO")
00082         return logINFO;
00083     if (level == "WARNING")
00084         return logWARNING;
00085     if (level == "ERROR")
00086         return logERROR;
00087     Log<T>().Get(logWARNING) << "Unknown logging level '" << level << "'. Using INFO level as default.";
00088     return logINFO;
00089 }

template<typename T>
Log& Log< T >::operator= ( const Log< T > &   )  [private]


Member Data Documentation

template<typename T>
std::ostringstream Log< T >::os [protected]

Definition at line 33 of file Log.hh.

Referenced by Log< T >::Get(), and Log< T >::~Log().


The documentation for this class was generated from the following file:
Generated on Mon Jan 7 13:18:39 2013 for MicromegasFramework by  doxygen 1.4.7