All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
StreamLogger.cpp
Go to the documentation of this file.
1 #include "StreamLogger.h"
2 
4 
5 #include <stdexcept>
6 #include <fstream>
7 
8 // StreamLogger::StreamLogger(): m_isMine(0), p_ost(0), p_msgStr(0), m_level(0){};
9 
10 StreamLogger::StreamLogger(const std::string& file): 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 }
18 
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 }
25 
26 StreamLogger::StreamLogger(std::ostream& ost): 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 }
37 
38 std::string
40  return m_name;
41 }
42 
44  if (m_isMine && p_ost != 0) {
45  delete p_ost;
46  }
47  if (p_msgStr != 0) {
48  delete p_msgStr;
49  }
50 }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
std::ostream * p_ost
Definition: StreamLogger.h:28
StreamLogger(const std::string &file)
MsgStream * p_msgStr
Definition: StreamLogger.h:29
std::string m_name
Definition: StreamLogger.h:31
The IMessage is the interface implemented by the message service.
Definition: IMessageSvc.h:57
list file
Definition: ana.py:160
std::string name() const
MSG::Level m_level
Definition: StreamLogger.h:30