Gaudi Framework, version v23r2

Home   Generated: Thu Jun 28 2012

StreamLogger.cpp

Go to the documentation of this file.
00001 #include "StreamLogger.h"
00002 
00003 #include "GaudiKernel/IMessageSvc.h"
00004 
00005 #include <stdexcept>
00006 #include <fstream>
00007 
00008 // StreamLogger::StreamLogger(): m_isMine(0), p_ost(0), p_msgStr(0), m_level(0){};
00009 
00010 StreamLogger::StreamLogger(const std::string& file): m_isMine(1),
00011                                                      p_ost(0), p_msgStr(0) {
00012   m_name = "file:" + file;
00013   p_ost = new std::ofstream(file.c_str());
00014   if (p_ost == 0) {
00015     throw std::invalid_argument("can't open file");
00016   }
00017 }
00018 
00019 StreamLogger::StreamLogger(IMessageSvc *svc, MSG::Level lev):
00020   m_isMine(1), p_ost(0), p_msgStr(0) {
00021   p_msgStr = new MsgStream( svc, "IssueLogger");
00022   m_level = lev;
00023   m_name = "MsgStream";
00024 }
00025 
00026 StreamLogger::StreamLogger(std::ostream& ost): m_isMine(0) , p_ost(0),
00027                                                p_msgStr(0){
00028   p_ost = &ost;
00029   if (ost == std::cerr) {
00030     m_name = "STDERR";
00031   } else if ( ost == std::cout) {
00032     m_name = "STDOUT";
00033   } else {
00034     m_name = "unknown ostream";
00035   }
00036 }
00037 
00038 std::string
00039 StreamLogger::name() const {
00040   return m_name;
00041 }
00042 
00043 StreamLogger::~StreamLogger() {
00044   if (m_isMine && p_ost != 0) {
00045     delete p_ost;
00046   }
00047   if (p_msgStr != 0) {
00048     delete p_msgStr;
00049   }
00050 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Thu Jun 28 2012 23:27:26 for Gaudi Framework, version v23r2 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004