EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
Log_service.h
Go to the documentation of this file.
1#pragma once
2
3#include <JANA/JApplicationFwd.h>
4#include <JANA/JServiceFwd.h>
5#include <spdlog/common.h>
6#include <spdlog/logger.h>
7#include <memory>
8#include <mutex>
9#include <optional>
10#include <string>
11
15class Log_service : public JService {
16public:
17 using level = spdlog::level::level_enum;
18
19public:
20 explicit Log_service(JApplication* app);
22
25 virtual std::shared_ptr<spdlog::logger>
26 logger(const std::string& name, const std::optional<level> default_level = std::nullopt);
27
30 virtual level getDefaultLevel();
31
33 virtual std::string getDefaultLevelStr();
34
35private:
36 Log_service() = default;
37
38 std::recursive_mutex m_lock;
39 JApplication* m_application;
40 std::string m_log_level_str;
41 std::string m_log_format_str;
42};
Definition Log_service.h:15
virtual std::shared_ptr< spdlog::logger > logger(const std::string &name, const std::optional< level > default_level=std::nullopt)
Definition Log_service.cc:84
virtual std::string getDefaultLevelStr()
Definition Log_service.cc:113
spdlog::level::level_enum level
Definition Log_service.h:17
virtual level getDefaultLevel()
Definition Log_service.cc:111