Public Member Functions | Static Public Member Functions

mbilog::BackendCout Class Reference

#include <mbilog.h>

Inheritance diagram for mbilog::BackendCout:
Inheritance graph
[legend]
Collaboration diagram for mbilog::BackendCout:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 BackendCout ()
 ~BackendCout ()
virtual void ProcessMessage (const mbilog::LogMessage &l)
void SetFull (bool full)

Static Public Member Functions

static void FormatSmart (const LogMessage &l, int threadID=0)
static void FormatFull (const LogMessage &l, int threadID=0)
static void FormatSmart (std::ostream &out, const LogMessage &l, int threadID=0)
static void FormatFull (std::ostream &out, const LogMessage &l, int threadID=0)

Detailed Description

Definition at line 85 of file mbilog.h.


Constructor & Destructor Documentation

mbilog::BackendCout::BackendCout (  )

Definition at line 66 of file mbilog.cpp.

{
  useFullOutput=false;
}
mbilog::BackendCout::~BackendCout (  )

Definition at line 71 of file mbilog.cpp.

{
}

Member Function Documentation

void mbilog::BackendCout::FormatFull ( const LogMessage l,
int  threadID = 0 
) [static]

Definition at line 812 of file mbilog.cpp.

Referenced by mitk::LoggingBackend::ProcessMessage().

{
  mbilog::BackendCout::FormatFull(std::cout,l,threadID);
}
void mbilog::BackendCout::FormatFull ( std::ostream &  out,
const LogMessage l,
int  threadID = 0 
) [static]

Definition at line 170 of file mbilog.cpp.

References mbilog::LogMessage::category, mbilog::Debug, mbilog::Error, mbilog::Fatal, mbilog::LogMessage::filePath, mbilog::LogMessage::functionName, mbilog::Info, mbilog::LogMessage::level, mbilog::LogMessage::lineNumber, mbilog::LogMessage::message, mbilog::LogMessage::moduleName, and mbilog::Warn.

{
  switch(l.level)
  {
    case mbilog::Info:
      out << "INFO";
      break;

    case mbilog::Warn:
      out << "WARN";
      break;

    case mbilog::Error:
      out << "ERROR";
      break;

    case mbilog::Fatal:
      out << "FATAL";
      break;

    case mbilog::Debug:
      out << "DEBUG";
      break;
  }

  time_t rawtime;
  time ( &rawtime );
  out << "|" << ctime(&rawtime);
  
  out << "|" << std::string(l.filePath) << "(" << l.lineNumber << ")";

  out << "|" << std::string(l.functionName);

  //if(threadID)
  {
    out << "|" << std::hex << threadID;
  }

  //if(NA_STRING != l.moduleName)
  {
    out << "|" << std::string(l.moduleName);
  }

  //if(!l.category.empty())
  {
    out << "|" << l.category;
  }

  out << l.message << std::endl;
}
void mbilog::BackendCout::FormatSmart ( std::ostream &  out,
const LogMessage l,
int  threadID = 0 
) [static]

Definition at line 96 of file mbilog.cpp.

References mbilog::LogMessage::category, mbilog::Debug, mbilog::Error, mbilog::Fatal, g_init, mbilog::Info, mbilog::LogMessage::level, mbilog::LogMessage::message, and mbilog::Warn.

{
  char c_open='[';
  char c_close=']';

  switch(l.level)
  {
    case mbilog::Info:
      break;

    case mbilog::Warn:
      c_open='!';
      c_close='!';
      break;

    case mbilog::Error:
      c_open='#';
      c_close='#';
      break;

    case mbilog::Fatal:
      c_open='*';
      c_close='*';
      break;

    case mbilog::Debug:
      c_open='{';
      c_close='}';
      break;
  }

  out << c_open;

  if (!g_init)
  {
    g_init = true;
    AppendTimeStamp(out);
    out << std::endl;
  }

  out << std::fixed << std::setprecision(3) << ((double)std::clock())/CLOCKS_PER_SEC;

  out << c_close << " ";
  
  if(!l.category.empty())
  {
    out << "[" << l.category << "] ";
  }
 
  switch(l.level)
  {
    case mbilog::Info:
      break;

    case mbilog::Warn:
      out << "WARNING: ";
      break;

    case mbilog::Error:
      out << "ERROR: ";
      break;

    case mbilog::Fatal:
      out << "FATAL: ";
      break;

    case mbilog::Debug:
      out << "DEBUG: ";
      break;
  }

  out << l.message << std::endl;
}
void mbilog::BackendCout::FormatSmart ( const LogMessage l,
int  threadID = 0 
) [static]

Definition at line 803 of file mbilog.cpp.

Referenced by mbilog::DistributeToBackends(), and mitk::LoggingBackend::ProcessMessage().

{
#ifdef USE_WIN32COLOREDCONSOLE
  FormatSmartWindows(l,threadID);
#else
  mbilog::BackendCout::FormatSmart(std::cout,l,threadID);
#endif
}
void mbilog::BackendCout::ProcessMessage ( const mbilog::LogMessage l ) [virtual]

Implements mbilog::AbstractBackend.

Definition at line 80 of file mbilog.cpp.

{
  if(useFullOutput)
    FormatFull(l);
  else
    FormatSmart(l);
}
void mbilog::BackendCout::SetFull ( bool  full )

Definition at line 75 of file mbilog.cpp.

{
  useFullOutput = full;
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines