summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2017-06-22 20:06:20 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2017-06-22 20:06:20 +0100
commitdb88e249aedb25870b8d9e25559a36836e3d9797 (patch)
tree0a07ac816180887245860ba332fc86989c0a3f1d
parentAdd a basic console writer (diff)
downloadicetray-0.1.5.tar.bz2
icetray-0.1.5.tar.xz
icetray-0.1.5.zip
Dedupe updating logger writersicetray-0.1.5
-rw-r--r--icetray/icetray/logger.cpp19
-rw-r--r--icetray/icetray/logger.h1
2 files changed, 12 insertions, 8 deletions
diff --git a/icetray/icetray/logger.cpp b/icetray/icetray/logger.cpp
index 5e17af5..fadb0a4 100644
--- a/icetray/icetray/logger.cpp
+++ b/icetray/icetray/logger.cpp
@@ -126,16 +126,22 @@ namespace IceTray {
}
void
+ LogManager::updateLoggerWriters() const
+ {
+ for (auto logger : loggers) {
+ Lock(logger->_lock);
+ logger->logs = getLogsForDomain(logger->domain);
+ }
+ }
+
+ void
LogManager::addWriter(LogWriterPrx writer)
{
UpgradableLock(_lock, l);
UpgradeScopeLock(l) {
logWriters.insert(writer);
}
- for (auto logger : loggers) {
- Lock(logger->_lock);
- logger->logs = getLogsForDomain(logger->domain);
- }
+ updateLoggerWriters();
}
void
@@ -145,10 +151,7 @@ namespace IceTray {
UpgradeScopeLock(l) {
logWriters.erase(writer);
}
- for (auto logger : loggers) {
- Lock(logger->_lock);
- logger->logs = getLogsForDomain(logger->domain);
- }
+ updateLoggerWriters();
}
AbstractLogWriter::AbstractLogWriter()
diff --git a/icetray/icetray/logger.h b/icetray/icetray/logger.h
index e78a126..75925b9 100644
--- a/icetray/icetray/logger.h
+++ b/icetray/icetray/logger.h
@@ -82,6 +82,7 @@ namespace IceTray {
void removeWriter(LogWriterPrx writer);
private:
+ void updateLoggerWriters() const;
mutable boost::shared_mutex _lock;
Loggers loggers;
LogWriters logWriters;