Program Listing for File Logger.cpp¶
↰ Return to documentation for file (necsim/Logger.cpp
)
// This file is part of necsim project which is released under MIT license.
// See file **LICENSE.txt** or visit https://opensource.org/licenses/MIT) for full license details.
#include <sstream>
#include "Logging.h"
using namespace std;
namespace necsim
{
Logger* logger;
void Logger::writeInfo(string message)
{
#ifdef DEBUG
writeLog(20, message);
#endif // DEBUG
#ifdef verbose
cout << message << flush;
#endif // verbose
}
void Logger::writeWarning(string message)
{
#ifdef DEBUG
writeLog(30, message);
#endif // DEBUG
#ifdef verbose
cerr << message << flush;
#endif // verbose
}
void Logger::writeError(string message)
{
#ifdef DEBUG
writeLog(40, message);
#endif // DEBUG
#ifdef verbose
cerr << message << flush;
#endif // verbose
}
void Logger::writeCritical(string message)
{
#ifdef DEBUG
writeLog(50, message);
#endif // DEBUG
#ifdef verbose
cerr << message << flush;
#endif // verbose
}
#ifdef DEBUG
void Logger::writeLog(const int &level, string message)
{
logfile.write(level, message);
}
void Logger::writeLog(const int &level, stringstream &message)
{
writeLog(level, message.str());
}
#endif // DEBUG
}