Logger.ixx File
Simple synchronous logger with configurable output sinks. More...
Included Headers
#include <format>
#include <string>
#include <vector>
#include <memory>
#include <mutex>
#include <iostream>
#include <cstddef>
#include <utility>
#include <helios.engine.util.log.LogSink>
Namespaces Index
| namespace | helios |
| namespace | engine |
| namespace | util |
| namespace | log |
Classes Index
| class | Logger |
|
Logger implementation with configurable output sinks. More... | |
Description
Simple synchronous logger with configurable output sinks.
File Listing
The file content with the documentation metadata removed is:
20export namespace helios::engine::util::log {
74 const char* levelStr = "";
76 case LogLevel::Debug: levelStr = "[DEBUG]"; break;
77 case LogLevel::Info: levelStr = "[INFO]"; break;
78 case LogLevel::Warn: levelStr = "[WARN]"; break;
79 case LogLevel::Error: levelStr = "[ERROR]"; break;
83 for (const auto& sink : sinks_) {
84 if (sink) {
99 template<typename... TArgs>
100 void dispatchFormatted(LogLevel level, std::format_string<TArgs...> fmt, TArgs&&... args) const {
119 enabled_ = enable;
129 sinks_.push_back(std::move(sink));
135 void clearSinks() noexcept {
156 dispatch(LogLevel::Warn, msg);
166 template<typename... TArgs>
168 dispatchFormatted(LogLevel::Warn, fmt, std::forward<TArgs>(args)...);
177 dispatch(LogLevel::Debug, msg);
187 template<typename... TArgs>
189 dispatchFormatted(LogLevel::Debug, fmt, std::forward<TArgs>(args)...);
198 dispatch(LogLevel::Info, msg);
208 template<typename... TArgs>
210 dispatchFormatted(LogLevel::Info, fmt, std::forward<TArgs>(args)...);
219 dispatch(LogLevel::Error, msg);
229 template<typename... TArgs>
231 dispatchFormatted(LogLevel::Error, fmt, std::forward<TArgs>(args)...);
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.