All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
StreamLogger Class Reference

#include <src/StreamLogger.h>

Collaboration diagram for StreamLogger:

Public Member Functions

 StreamLogger (const std::string &file)
 
 StreamLogger (std::ostream &ost)
 
 StreamLogger (IMessageSvc *, MSG::Level)
 
 ~StreamLogger ()
 
std::string name () const
 
void WriteToStream (const std::string &str)
 
void WriteToMsgSvc (const std::string &str)
 

Private Attributes

bool m_isMine
 
std::ostream * p_ost
 
MsgStreamp_msgStr
 
MSG::Level m_level
 
std::string m_name
 

Detailed Description

Definition at line 11 of file StreamLogger.h.

Constructor & Destructor Documentation

StreamLogger::StreamLogger ( const std::string &  file)

Definition at line 10 of file StreamLogger.cpp.

10  : m_isMine(1),
11  p_ost(0), p_msgStr(0) {
12  m_name = "file:" + file;
13  p_ost = new std::ofstream(file.c_str());
14  if (p_ost == 0) {
15  throw std::invalid_argument("can't open file");
16  }
17 }
std::ostream * p_ost
Definition: StreamLogger.h:28
MsgStream * p_msgStr
Definition: StreamLogger.h:29
std::string m_name
Definition: StreamLogger.h:31
list file
Definition: ana.py:160
StreamLogger::StreamLogger ( std::ostream &  ost)

Definition at line 26 of file StreamLogger.cpp.

26  : m_isMine(0) , p_ost(0),
27  p_msgStr(0){
28  p_ost = &ost;
29  if (ost == std::cerr) {
30  m_name = "STDERR";
31  } else if ( ost == std::cout) {
32  m_name = "STDOUT";
33  } else {
34  m_name = "unknown ostream";
35  }
36 }
std::ostream * p_ost
Definition: StreamLogger.h:28
MsgStream * p_msgStr
Definition: StreamLogger.h:29
std::string m_name
Definition: StreamLogger.h:31
StreamLogger::StreamLogger ( IMessageSvc svc,
MSG::Level  lev 
)

Definition at line 19 of file StreamLogger.cpp.

19  :
20  m_isMine(1), p_ost(0), p_msgStr(0) {
21  p_msgStr = new MsgStream( svc, "IssueLogger");
22  m_level = lev;
23  m_name = "MsgStream";
24 }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
std::ostream * p_ost
Definition: StreamLogger.h:28
MsgStream * p_msgStr
Definition: StreamLogger.h:29
std::string m_name
Definition: StreamLogger.h:31
MSG::Level m_level
Definition: StreamLogger.h:30
StreamLogger::~StreamLogger ( )

Definition at line 43 of file StreamLogger.cpp.

43  {
44  if (m_isMine && p_ost != 0) {
45  delete p_ost;
46  }
47  if (p_msgStr != 0) {
48  delete p_msgStr;
49  }
50 }
std::ostream * p_ost
Definition: StreamLogger.h:28
MsgStream * p_msgStr
Definition: StreamLogger.h:29

Member Function Documentation

std::string StreamLogger::name ( ) const

Definition at line 39 of file StreamLogger.cpp.

39  {
40  return m_name;
41 }
std::string m_name
Definition: StreamLogger.h:31
void StreamLogger::WriteToMsgSvc ( const std::string &  str)
inline

Definition at line 22 of file StreamLogger.h.

22  { *p_msgStr << m_level << str
23  << endmsg; }
MsgStream * p_msgStr
Definition: StreamLogger.h:29
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:243
MSG::Level m_level
Definition: StreamLogger.h:30
void StreamLogger::WriteToStream ( const std::string &  str)
inline

Definition at line 21 of file StreamLogger.h.

21 { *p_ost << str << std::endl; }
std::ostream * p_ost
Definition: StreamLogger.h:28

Member Data Documentation

bool StreamLogger::m_isMine
private

Definition at line 27 of file StreamLogger.h.

MSG::Level StreamLogger::m_level
private

Definition at line 30 of file StreamLogger.h.

std::string StreamLogger::m_name
private

Definition at line 31 of file StreamLogger.h.

MsgStream* StreamLogger::p_msgStr
private

Definition at line 29 of file StreamLogger.h.

std::ostream* StreamLogger::p_ost
private

Definition at line 28 of file StreamLogger.h.


The documentation for this class was generated from the following files: