summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/logger.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/logger.cc b/src/logger.cc
index e04b588..da097a1 100644
--- a/src/logger.cc
+++ b/src/logger.cc
@@ -40,8 +40,9 @@ public:
class LoggerSyslog : public Logger {
public:
- LoggerSyslog(std::string const& name) {
- openlog(name.c_str(), LOG_PID, LOG_DAEMON);
+ LoggerSyslog(std::string const& name)
+ : name_(name) {
+ openlog(name_.c_str(), LOG_PID, LOG_DAEMON);
}
~LoggerSyslog() override {
@@ -75,6 +76,9 @@ private:
assert(false);
return LOG_INFO;
}
+
+ // Copy of name to keep pointer alive while syslog has access to it
+ std::string const name_;
};
class LoggerFile : public Logger {