diff --git a/common/include/villas/log.hpp b/common/include/villas/log.hpp index 9fa902d26..7e0eecd38 100644 --- a/common/include/villas/log.hpp +++ b/common/include/villas/log.hpp @@ -87,7 +87,7 @@ public: Logger get(const std::string &name); - void setFormatter(const std::string &pattern); + void setFormatter(const std::string &pattern, const std::string &pfx = ""); void setLevel(Level lvl); void setLevel(const std::string &lvl); diff --git a/common/lib/log.cpp b/common/lib/log.cpp index ec2e461c3..84ce0bf05 100644 --- a/common/lib/log.cpp +++ b/common/lib/log.cpp @@ -74,13 +74,11 @@ Log::Log(Level lvl) : pattern("%H:%M:%S %^%-4t%$ %-16n %v") { char *p = getenv("VILLAS_LOG_PREFIX"); - if (p) - prefix = p; sinks = std::make_shared(); setLevel(level); - setFormatter(pattern); + setFormatter(pattern, p ? p : ""); /* Default sink */ sink = std::make_shared(); @@ -174,13 +172,14 @@ void Log::parse(json_t *json) } } -void Log::setFormatter(const std::string &pat) +void Log::setFormatter(const std::string &pat, const std::string &pfx) { pattern = pat; + prefix = pfx; formatter = std::make_shared(spdlog::pattern_time_type::utc); formatter->add_flag('t'); - formatter->set_pattern(pattern); + formatter->set_pattern(prefix + pattern); spdlog::set_formatter(formatter->clone()); sinks->set_formatter(formatter->clone());