1
0
Fork 0
mirror of https://github.com/cosmo-sims/monofonIC.git synced 2024-09-19 17:03:45 +02:00
monofonIC/src/logger.cc
2019-05-07 01:05:16 +02:00

42 lines
904 B
C++

#include <logger.hh>
namespace csoca {
std::ofstream Logger::output_file_;
LogLevel Logger::log_level_ = LogLevel::Off;
void Logger::SetLevel(const LogLevel &level) {
log_level_ = level;
}
LogLevel Logger::GetLevel() {
return log_level_;
}
void Logger::SetOutput(const std::string filename) {
if (output_file_.is_open()) {
output_file_.close();
}
output_file_.open(filename, std::ofstream::out);
assert(output_file_.is_open());
}
void Logger::UnsetOutput() {
if (output_file_.is_open()) {
output_file_.close();
}
}
std::ofstream &Logger::GetOutput() {
return output_file_;
}
// global instantiations for different levels
Logger glogger;
LogStream flog(glogger, LogLevel::Fatal);
LogStream elog(glogger, LogLevel::Error);
LogStream wlog(glogger, LogLevel::Warning);
LogStream ilog(glogger, LogLevel::Info);
LogStream dlog(glogger, LogLevel::Debug);
} // namespace csoca