diff options
-rw-r--r-- | include/mts/MTS_Logger.h | 3 | ||||
-rw-r--r-- | src/MTS_Logger.cpp | 13 |
2 files changed, 15 insertions, 1 deletions
diff --git a/include/mts/MTS_Logger.h b/include/mts/MTS_Logger.h index b0beda9..e203199 100644 --- a/include/mts/MTS_Logger.h +++ b/include/mts/MTS_Logger.h @@ -117,7 +117,8 @@ namespace MTS { SYSLOG_ONLY, STDOUT_AND_FILE, STDOUT_AND_SYSLOG, - STDERR_ONLY + STDERR_ONLY, + STDERR_AND_SYSLOG }; static int getPrintLevel(); diff --git a/src/MTS_Logger.cpp b/src/MTS_Logger.cpp index eb879e3..1be2a0f 100644 --- a/src/MTS_Logger.cpp +++ b/src/MTS_Logger.cpp @@ -172,6 +172,19 @@ void Logger::printMessage(const int32_t& level, const char* label, const char* f } break; + case Logger::PrintMode::STDERR_AND_SYSLOG: { + if (level <= Logger::PrintLevel::TRACE_LEVEL) { + va_list argptr2; + va_copy(argptr2, argptr); + vsyslog(syslogPrintLevelConversion(level), format, argptr2); + va_end(argptr2); + } + fprintf(stderr, "%s|%s|", MTS::Text::time(MTS::System::timeMicros()).c_str(), label); + vfprintf(stderr, format, argptr); + fprintf(stderr, "\n"); + } + break; + case Logger::PrintMode::NO_PRINTING: default: break; |