#include "filelogger.hpp" #include "common.hpp" #include <string> #include "utils.hpp" #include "trace.hpp" Filelogger::Filelogger(uid_t ruid, const string& filename, Log_type log_type, bool append): ILogger(ruid, log_type) { std::ios_base::openmode mode = std::ofstream::out; if(append) mode |= std::ofstream::app; _file.open (filename.c_str(), mode); TRACE_LOC_ON_MASK(LOGGING_MASK, "Built Filelogger with log_type = %s; and filename = %s\n", log_type_to_str(log_type).c_str(), filename.c_str()); } Filelogger::~Filelogger() { _file.close(); } void Filelogger::log(Log_type type, const string& message, int errnum) { std::string msg_out; if(prepare_log(type, message, msg_out, errnum)) _file<<msg_out<<std::endl; }