diff options
-rw-r--r-- | src/Log.cpp | 5 | ||||
-rw-r--r-- | src/Log.h | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/Log.cpp b/src/Log.cpp index f8f7d7f..90548af 100644 --- a/src/Log.cpp +++ b/src/Log.cpp @@ -74,7 +74,10 @@ void Logger::logstr(log_level_t level, std::string message) (*it)->log(level, message); } - std::cerr << levels_as_str[level] << " " << message << std::endl; + { + std::lock_guard<std::mutex> guard(m_cerr_mutex); + std::cerr << levels_as_str[level] << " " << message << std::endl; + } } @@ -39,6 +39,7 @@ #include <stdexcept> #include <string> #include <map> +#include <mutex> #define SYSLOG_IDENT "ODR-DabMux" #define SYSLOG_FACILITY LOG_LOCAL0 @@ -146,6 +147,8 @@ class Logger { private: std::list<LogBackend*> backends; + + std::mutex m_cerr_mutex; }; extern Logger etiLog; |