Skip to content

Commit babf8b1

Browse files
committed
remove log dispatcher cfr. offline discussion
Signed-off-by: Martijn Govers <[email protected]>
1 parent 97cf176 commit babf8b1

File tree

2 files changed

+0
-52
lines changed

2 files changed

+0
-52
lines changed

power_grid_model_c/power_grid_model/include/power_grid_model/common/logging.hpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,6 @@ struct Logger {
5555
virtual ~Logger() = default;
5656
};
5757

58-
struct LogDispatch : public Logger {
59-
virtual void registrar(Logger* logger) = 0;
60-
virtual void deregistrar(Logger* logger) = 0;
61-
};
62-
6358
} // namespace common::logging
6459

6560
using common::logging::LogEvent;

power_grid_model_c/power_grid_model/include/power_grid_model/common/logging_impl.hpp

Lines changed: 0 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -18,51 +18,4 @@ class NoLogger : public Logger {
1818
std::unique_ptr<Logger> clone() const override { return std::make_unique<NoLogger>(); }
1919
};
2020

21-
class LogDispatcher final : public LogDispatch {
22-
public:
23-
void log(LogEvent tag) override { log_impl(tag); }
24-
void log(LogEvent tag, std::string_view message) override { log_impl(tag, message); }
25-
void log(LogEvent tag, double value) override { log_impl(tag, value); }
26-
void log(LogEvent tag, Idx value) override { log_impl(tag, value); }
27-
void registrar(Logger* logger) override {
28-
if (logger != nullptr && std::ranges::find(loggers_, logger) == loggers_.end()) {
29-
loggers_.push_back(logger);
30-
}
31-
}
32-
void deregistrar(Logger* logger) override {
33-
if (logger != nullptr) {
34-
std::erase(loggers_, logger);
35-
}
36-
}
37-
std::unique_ptr<Logger> clone() const override { return std::make_unique<LogDispatcher>(); }
38-
39-
LogDispatcher() = default;
40-
LogDispatcher(const LogDispatcher&) = delete;
41-
LogDispatcher& operator=(const LogDispatcher&) = delete;
42-
LogDispatcher(LogDispatcher&&) = default;
43-
LogDispatcher& operator=(LogDispatcher&&) = default;
44-
~LogDispatcher() override = default;
45-
46-
private:
47-
std::vector<Logger*> loggers_;
48-
49-
template <typename... T>
50-
constexpr void log_impl(LogEvent tag, T&&... values)
51-
requires requires(Logger log_) {
52-
{ log_.log(tag, values...) };
53-
}
54-
{
55-
if (loggers_.size() == 1 && loggers_.front() != nullptr) { // allows perfect forwarding to log messages
56-
loggers_.front()->log(tag, std::forward<T>(values)...);
57-
} else {
58-
for (auto& logger : loggers_) {
59-
if (logger != nullptr) {
60-
logger->log(tag, values...);
61-
}
62-
}
63-
capturing::into_the_void(std::forward<T>(values)...);
64-
}
65-
}
66-
};
67-
6821
} // namespace power_grid_model::common::logging

0 commit comments

Comments
 (0)