Introduced LogUtil file + Logger class

- The new LogUtil.cpp / LogUtil.hpp files contain the enum definitions
  for MessageType and formatting functions.

- The Logger class is meant to be the instance which is held by the
  static OpmLog singleton class.
This commit is contained in:
Joakim Hove
2015-01-06 21:18:55 +01:00
parent 930d70744d
commit 245b91d0c2
10 changed files with 175 additions and 96 deletions

View File

@@ -20,57 +20,26 @@
#include <stdexcept>
#include <opm/parser/eclipse/OpmLog/OpmLog.hpp>
#include <opm/parser/eclipse/OpmLog/Logger.hpp>
namespace Opm {
std::shared_ptr<Logger> OpmLog::getLogger() {
if (!m_logger)
m_logger.reset( new Logger() );
std::string OpmLog::fileMessage(const std::string& filename , size_t line , const std::string& message) {
std::ostringstream oss;
oss << filename << ":" << line << ": " << message;
return oss.str();
return m_logger;
}
std::string OpmLog::prefixMessage(MessageType messageType, const std::string& message) {
std::string prefix;
switch (messageType) {
case Note:
prefix = "note";
break;
case Warning:
prefix = "warning";
break;
case Error:
prefix = "error";
break;
default:
throw std::invalid_argument("Unhandled messagetype");
}
return prefix + ": " + message;
}
/*
std::shared_ptr<MessageCounter> OpmLog::getMessageCounter() {
if (!m_logger)
m_logger.reset( new MessageCounter() );
return m_logger;
}
*/
void OpmLog::addMessage(MessageType messageType , const std::string& message) {
/*
auto logger = OpmLog::getMessageCounter();
logger->addMessage( "" , -1 , messageType , message );
*/
void OpmLog::addMessage(int64_t messageFlag , const std::string& message) {
auto logger = OpmLog::getLogger();
logger->addMessage( messageFlag , message );
}
/******************************************************************/
//std::shared_ptr<MessageCounter> OpmLog::m_logger;
std::shared_ptr<Logger> OpmLog::m_logger;
}