Skip to content
Snippets Groups Projects
Logger.h 1.03 KiB
Newer Older
  • Learn to ignore specific revisions
  • #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