-
Whitney Armstrong authored
- Mixins defined in Logger.h - Mixin used in base classes (THcDC is currently a good example) Added a few more spdlog loggers Added logging to many. - Added logging to hodoscope, aerogel hitlist and detectormap - Working on scandalizer features. Added logging. Added more logging. added more logging. More logging.
Whitney Armstrong authored- Mixins defined in Logger.h - Mixin used in base classes (THcDC is currently a good example) Added a few more spdlog loggers Added logging to many. - Added logging to hodoscope, aerogel hitlist and detectormap - Working on scandalizer features. Added logging. Added more logging. added more logging. More logging.
Logger.h 1.03 KiB
#ifndef hcana_Logger_hh
#define hcana_Logger_hh
#include "spdlog/spdlog.h"
#include "spdlog/sinks/stdout_color_sinks.h" //support for stdout logging
#include "spdlog/sinks/basic_file_sink.h" // support for basic file logging
namespace hcana {
template <typename Base>
class ConfigLogging : public Base {
protected:
std::shared_ptr<spdlog::logger> _logger;
public:
template <class... Args>
ConfigLogging(Args&&... args) : Base(std::forward<Args>(args)...) {
_logger = spdlog::get("config");
if(!_logger) {
_logger = spdlog::stdout_color_mt("config");
}
_logger->set_pattern("[%t] [%n] %^[%l]%$ %v");
}
};
template <typename Base>
class HitLogging : public Base {
protected:
std::shared_ptr<spdlog::logger> _hit_logger;
public:
template <class... Args>
HitLogging(Args&&... args) : Base(std::forward<Args>(args)...) {
_hit_logger = spdlog::get("hits");
if(!_hit_logger) {
_hit_logger = spdlog::stdout_color_mt("hits");
}
}
};
}
#endif