diff options
author | Jeff Hatch <jhatch@multitech.com> | 2020-11-10 08:25:37 -0600 |
---|---|---|
committer | Jeff Hatch <jhatch@multitech.com> | 2020-11-10 08:25:37 -0600 |
commit | 7ba216743f5a413ff3093cfe169718894836cb62 (patch) | |
tree | d0fc2765f53db02550a81cde3883a9160e937772 | |
parent | cbbfbb27fd2b4e7d53f614f626090e88000453de (diff) | |
parent | f5122928882ebfb0f68bd7b17bc4c6fe95a7bbb6 (diff) | |
download | libmts-7ba216743f5a413ff3093cfe169718894836cb62.tar.gz libmts-7ba216743f5a413ff3093cfe169718894836cb62.tar.bz2 libmts-7ba216743f5a413ff3093cfe169718894836cb62.zip |
Merge branch 'ms/MTX-3669_alertservice_shall_print_messages_to_stderr' into 'master'
0.8
[MTX-3669] mPower Release 5.4: alertservice and libmts shall print log messages to stderr
See merge request !2
-rw-r--r-- | include/mts/MTS_Logger.h | 4 | ||||
-rw-r--r-- | src/MTS_Logger.cpp | 19 |
2 files changed, 22 insertions, 1 deletions
diff --git a/include/mts/MTS_Logger.h b/include/mts/MTS_Logger.h index a1e88a2..e203199 100644 --- a/include/mts/MTS_Logger.h +++ b/include/mts/MTS_Logger.h @@ -116,7 +116,9 @@ namespace MTS { FILE_ONLY, SYSLOG_ONLY, STDOUT_AND_FILE, - STDOUT_AND_SYSLOG + STDOUT_AND_SYSLOG, + STDERR_ONLY, + STDERR_AND_SYSLOG }; static int getPrintLevel(); diff --git a/src/MTS_Logger.cpp b/src/MTS_Logger.cpp index 93775fe..1be2a0f 100644 --- a/src/MTS_Logger.cpp +++ b/src/MTS_Logger.cpp @@ -124,6 +124,12 @@ void Logger::printMessage(const int32_t& level, const char* label, const char* f ::printf("\n"); break; + case Logger::PrintMode::STDERR_ONLY: + fprintf(stderr, "%s|%s|", MTS::Text::time(MTS::System::timeMicros()).c_str(), label); + vfprintf(stderr, format, argptr); + fprintf(stderr, "\n"); + break; + case Logger::PrintMode::FILE_ONLY: fprintf(m_pFile, "%s|%s| ", MTS::Text::time(MTS::System::timeMicros()).c_str(), label); vfprintf(m_pFile, format, argptr); @@ -166,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; |