Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gabime/spdlog.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kundrát <jan.kundrat@cesnet.cz>2019-10-30 12:51:07 +0300
committerJan Kundrát <jan.kundrat@cesnet.cz>2019-10-30 22:08:30 +0300
commit17513a6dce1b9c8f54885efa3d6764e5b46fe59d (patch)
tree9cdf7397e07a3af5fc80e1ce9e92b4233c156b78 /include
parenta44560ddb60a5bfc0a8927207c798209883f4dbb (diff)
journald: structured output for logger's name
Previously, the logger name was effectively lost. There were two choices on how to add it: - Via a formatter, which would mean that `journalctl` would not be able to filter against that. That would be suboptimal. - As a "syslog identifier". This means that `journalctl` will, by default, stop showing the daemon's executable name and replace that via the logger name. The PID is still shown, and if one would like to go back to the previous behavior, it is still possible via `journalctl -o with-unit`. I think that the second option is strictly better than the first one. fixes #1289
Diffstat (limited to 'include')
-rw-r--r--include/spdlog/sinks/systemd_sink.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/spdlog/sinks/systemd_sink.h b/include/spdlog/sinks/systemd_sink.h
index a9867a6f..2887e58e 100644
--- a/include/spdlog/sinks/systemd_sink.h
+++ b/include/spdlog/sinks/systemd_sink.h
@@ -61,11 +61,13 @@ protected:
{
// Note: function call inside '()' to avoid macro expansion
err = (sd_journal_send)(
- "MESSAGE=%.*s", static_cast<int>(length), msg.payload.data(), "PRIORITY=%d", syslog_level(msg.level), nullptr);
+ "MESSAGE=%.*s", static_cast<int>(length), msg.payload.data(), "PRIORITY=%d", syslog_level(msg.level),
+ "SYSLOG_IDENTIFIER=%.*s", static_cast<int>(msg.logger_name.size()), msg.logger_name.data(), nullptr);
}
else
{
err = (sd_journal_send)("MESSAGE=%.*s", static_cast<int>(length), msg.payload.data(), "PRIORITY=%d", syslog_level(msg.level),
+ "SYSLOG_IDENTIFIER=%.*s", static_cast<int>(msg.logger_name.size()), msg.logger_name.data(),
"CODE_FILE=%s", msg.source.filename, "CODE_LINE=%d", msg.source.line, "CODE_FUNC=%s", msg.source.funcname, nullptr);
}