1 #ifndef GRAIL_LOGGER_MANAGER_H
2 #define GRAIL_LOGGER_MANAGER_H
12 #include <condition_variable>
17 namespace logger_hidden_namespace
19 std::string grail_preprocess_file_path(
const char* _file);
22 #define GRAIL_LOG(name, severity, message) grail::LoggerManager::GetInstance().Log((name), (severity), (message), logger_hidden_namespace::grail_preprocess_file_path(__FILE__), __LINE__)
45 void CreateLogger(
const std::string& loggerName);
46 void AddSinkToLogger(
const std::string& loggerName, std::shared_ptr<Sink> sink);
47 void Log(
const std::string& loggerName,
const Severity& severity,
const std::string& message,
const std::string& file,
int line)
const;
53 std::string SeverityMessage(Severity severity)
const;
54 std::map<std::string, std::vector<std::shared_ptr<Sink>>> loggers{};
56 mutable std::mutex loggerMutex{};
Definition: LoggerManager.hh:37