26 #ifndef INCLUDED_LogRegistry_h_GUID_09DDD840_389E_430C_8CBD_9AC4EE3F93FE
27 #define INCLUDED_LogRegistry_h_GUID_09DDD840_389E_430C_8CBD_9AC4EE3F93FE
50 using sink_ptr = std::shared_ptr<spdlog::sinks::sink>;
66 OSVR_UTIL_EXPORT
static LogRegistry &instance(std::string
const * =
nullptr);
86 OSVR_UTIL_EXPORT
void drop(
const std::string &name);
94 OSVR_UTIL_EXPORT
void dropAll();
99 OSVR_UTIL_EXPORT
void flush();
104 OSVR_UTIL_EXPORT
void setPattern(
const std::string &pattern);
110 OSVR_UTIL_EXPORT
void setLevel(LogLevel severity);
118 OSVR_UTIL_EXPORT std::string
const &getLogFileBaseName()
const {
119 return logFileBaseName_;
122 OSVR_UTIL_EXPORT
bool couldOpenLogFile()
const {
return sinks_.size() > 1; }
125 OSVR_UTIL_EXPORT
LogRegistry(std::string
const &logFileBaseName);
126 OSVR_UTIL_EXPORT ~LogRegistry();
129 void setLevelImpl(LogLevel severity);
130 void setConsoleLevelImpl(LogLevel severity);
131 void createFileSink();
133 LogLevel consoleLevel_;
135 std::vector<spdlog::sink_ptr> sinks_;
136 std::shared_ptr<filter_sink> console_filter_;
137 LoggerPtr consoleOnlyLog_;
138 LoggerPtr generalLog_;
139 Logger *generalPurposeLog_ =
nullptr;
140 std::string logFileBaseName_;
147 #endif // INCLUDED_LogRegistry_h_GUID_09DDD840_389E_430C_8CBD_9AC4EE3F93FE
LoggerPtr getOrCreateLogger(const std::string &logger_name)
Gets or creates a logger named logger_name.
void setConsoleLevel(LogLevel severity)
Sets the minimum level of messages to be logged to the console.
Header for basic internal log reference. To actually log to the produced loggers, include
Automatically-generated export header - do not edit!
void flush()
Flush all sinks manually.
An object allowing you to log messages with a given log source name.
void setPattern(const std::string &pattern)
Sets the output pattern on all registered loggers.
void setLevel(LogLevel severity)
Sets the minimum level of messages to be logged on all registered loggers.
void drop(const std::string &name)
Drops a logger from the registry.
void dropAll()
Removes all the registered loggers from the registry.