00001
00012 #include <fstream>
00013 #include <ace/Log_Msg.h>
00014
00015 #include "Log_Facade.h"
00016
00017 namespace qlib{
00018
00019 namespace ace{
00020
00021 Log_Facade::Log_Facade(void) : log_(0) {
00022
00023 }
00024
00025 Log_Facade::Log_Facade(bool verbose, const std::string &logfile) : log_(0), verbose_(verbose){
00026 if(!verbose){
00027 log_ = new std::ofstream(logfile.c_str());
00028 ACE_LOG_MSG->msg_ostream(log_, 0);
00029 ACE_LOG_MSG->set_flags(ACE_Log_Msg::OSTREAM);
00030 ACE_LOG_MSG->clr_flags(ACE_Log_Msg::STDERR);
00031 }
00032 }
00033
00034 Log_Facade::~Log_Facade(void){
00035 if(log_){
00036 ACE_LOG_MSG->clr_flags (ACE_Log_Msg::OSTREAM);
00037 log_->close();
00038 delete log_;
00039 }
00040 }
00041
00042 void Log_Facade::verbose(bool vbs){
00043 verbose_ = vbs;
00044 if(vbs){
00045 ACE_LOG_MSG->set_flags(ACE_Log_Msg::STDERR);
00046 }else{
00047 ACE_LOG_MSG->clr_flags(ACE_Log_Msg::STDERR);
00048 }
00049 }
00050
00051 }
00052 }
00053
00054