diff options
author | Stefan Radomski <github@mintwerk.de> | 2016-12-09 12:25:11 (GMT) |
---|---|---|
committer | Stefan Radomski <github@mintwerk.de> | 2016-12-09 12:25:11 (GMT) |
commit | 9b8e09c3fde755ec26e5c21b9640f53ed9329d05 (patch) | |
tree | c7001e5bfc551a24e3cee0b3fb014791e0685b44 /src/uscxml/interpreter/Logging.cpp | |
parent | 9fae96bbf295fcd867d60bf45d9c3b825ae692c2 (diff) | |
download | uscxml-9b8e09c3fde755ec26e5c21b9640f53ed9329d05.zip uscxml-9b8e09c3fde755ec26e5c21b9640f53ed9329d05.tar.gz uscxml-9b8e09c3fde755ec26e5c21b9640f53ed9329d05.tar.bz2 |
Removed easylogging due to JNI segfaults
Diffstat (limited to 'src/uscxml/interpreter/Logging.cpp')
-rw-r--r-- | src/uscxml/interpreter/Logging.cpp | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/src/uscxml/interpreter/Logging.cpp b/src/uscxml/interpreter/Logging.cpp new file mode 100644 index 0000000..bdb847a --- /dev/null +++ b/src/uscxml/interpreter/Logging.cpp @@ -0,0 +1,99 @@ +/** + * @file + * @author 2016 Stefan Radomski (stefan.radomski@cs.tu-darmstadt.de) + * @copyright Simplified BSD + * + * @cond + * This program is free software: you can redistribute it and/or modify + * it under the terms of the FreeBSD license as published by the FreeBSD + * project. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * You should have received a copy of the FreeBSD license along with this + * program. If not, see <http://www.opensource.org/licenses/bsd-license>. + * @endcond + */ + +#include "Logging.h" +#include "LoggingImpl.h" + +// for default logger +#include "StdOutLogger.h" + +namespace uscxml { + +std::shared_ptr<LoggerImpl> LoggerImpl::_defaultLogger; + +std::shared_ptr<LoggerImpl> LoggerImpl::getDefault() { + if (!_defaultLogger) + _defaultLogger = std::shared_ptr<LoggerImpl>(new StdOutLogger()); + return _defaultLogger; +} + +Logger Logger::getDefault() { + return LoggerImpl::getDefault(); +} + +void log(LogSeverity severity, const Event& event) { + LoggerImpl::getDefault()->log(severity, event); +} + +void log(LogSeverity severity, const Data& data) { + LoggerImpl::getDefault()->log(severity, data); +} + +void Logger::log(LogSeverity severity, const Event& event) { + _impl->log(severity, event); +} + +void Logger::log(LogSeverity severity, const Data& data) { + _impl->log(severity, data); +} + +void Logger::log(LogSeverity severity, const std::string& message) { + _impl->log(severity, message); +} + +StreamLogger Logger::log(LogSeverity severity) { + return StreamLogger(severity, _impl); +} + +StreamLogger::~StreamLogger() { + _logger->log(_severity, ss.str()); +} + +std::shared_ptr<LoggerImpl> Logger::getImpl() const { + return _impl; +} + +std::ostream& StreamLogger::operator<<(const std::string& message) { + ss << message; //_logger->log(_severity, event); + return ss; +} + +std::string Logger::severityToString(LogSeverity severity) { + switch (severity) { + case USCXML_SCXML: + return "Interpreter"; + case USCXML_TRACE: + return "Trace"; + case USCXML_DEBUG: + return "Debug"; + case USCXML_INFO: + return "Info"; + case USCXML_WARN: + return "Warning"; + case USCXML_ERROR: + return "Error"; + case USCXML_FATAL: + return "Fatal"; + default: + return "Unknown"; + + } +} + +} |