Fire Core  8.0.0.alpha
GIS framework per tutti gli usi
 Tutto Classi Namespace Funzioni Variabili Ridefinizioni di tipo (typedef) Tipi enumerati (enum) Valori del tipo enumerato Friend
AbstractLogger.hpp
1 // Copyright 2015 GEOSYSTEMS SRL
2 // All Rights Reserved.
3 
4 #ifndef FIRE_LOGGING_SPI_ABSTRACTLOGGER_HPP_INCLUDED
5 #define FIRE_LOGGING_SPI_ABSTRACTLOGGER_HPP_INCLUDED
6 
7 #include <boost/log/trivial.hpp>
8 #include <boost/log/sources/severity_logger.hpp>
9 #include <boost/log/expressions.hpp>
10 #include <boost/log/attributes.hpp>
11 
12 #include <exception>
13 #include <string>
14 #include <set>
15 
16 #include "fire/Object.hpp"
17 #include "fire/logging/spi/ExtendedLogger.hpp"
18 #include "fire/logging/Level.hpp"
19 
20 BOOST_LOG_ATTRIBUTE_KEYWORD(tagsAttribute, "Tags", std::string);
21 
26 namespace fire {
31 namespace logging {
36 namespace spi {
42  protected:
47  std::string name;
52  boost::log::sources::severity_logger_mt< boost::log::trivial::severity_level >* logger;
57  std::set< std::string >* tags;
58 
59  public:
67  explicit AbstractLogger(const std::string& name);
72  virtual ~AbstractLogger();
80  std::string getName();
91  virtual bool isEnabled(fire::logging::Level::Level level) = 0;
102  virtual void logMessage(fire::logging::Level::Level level, const std::string& message) = 0;
113  void logIfEnabled(fire::logging::Level::Level level, const std::string& message);
124  void log(fire::logging::Level::Level level, const std::string& message);
135  void log(fire::logging::Level::Level level, const fire::Object& object);
143  bool isTraceEnabled();
151  void trace(const std::string& message);
159  void trace(const fire::Object& object);
167  bool isDebugEnabled();
175  void debug(const std::string& message);
183  void debug(const fire::Object& object);
191  bool isInfoEnabled();
199  void info(const std::string& message);
207  void info(const fire::Object& object);
215  bool isWarnEnabled();
223  void warn(const std::string& message);
231  void warn(const fire::Object& object);
239  bool isErrorEnabled();
247  void error(const std::string& message);
255  void error(const fire::Object& object);
263  bool isFatalEnabled();
271  void fatal(const std::string& message);
279  void fatal(const fire::Object& object);
280 };
281 } // namespace spi
282 } // namespace logging
283 } // namespace fire
284 
285 #endif
virtual void logMessage(fire::logging::Level::Level level, const std::string &message)=0
Scrive un log dato un livello di log e un messaggio.
virtual bool isEnabled(fire::logging::Level::Level level)=0
Restituisce l'indicazione se un dato livello di log è abilitato sul logger.
std::string name
Nome del logger.
Definition: AbstractLogger.hpp:47
boost::log::sources::severity_logger_mt< boost::log::trivial::severity_level > * logger
Logger sincronizzato del logger.
Definition: AbstractLogger.hpp:52
void log(fire::logging::Level::Level level, const std::string &message)
Scrive un log dato un livello di log e un messaggio.
bool isInfoEnabled()
Restituisce l'indicazione se il livello di log "Info" è abilitato sul logger.
AbstractLogger(const std::string &name)
Costruttore.
bool isDebugEnabled()
Restituisce l'indicazione se il livello di log "Debug" è abilitato sul logger.
void fatal(const std::string &message)
Scrive un log al livello di log "Fatal" dato un messaggio.
Classe per la gestione di un oggetto.
Definition: Object.hpp:29
std::set< std::string > * tags
Tag del logger.
Definition: AbstractLogger.hpp:57
Classe per la gestione di un logger esteso.
Definition: ExtendedLogger.hpp:28
bool isTraceEnabled()
Restituisce l'indicazione se il livello di log "Trace" è abilitato sul logger.
std::string getName()
Restituisce il nome del logger.
Classe astratta per la gestione di un logger.
Definition: AbstractLogger.hpp:41
void debug(const std::string &message)
Scrive un log al livello di log "Debug" dato un messaggio.
void warn(const std::string &message)
Scrive un log al livello di log "Warn" dato un messaggio.
Level
Enumerativo per la gestione di un livello di log.
Definition: Level.hpp:26
void logIfEnabled(fire::logging::Level::Level level, const std::string &message)
Scrive un log dato un livello di log e un messaggio se il livello di log è abilitato sul logger...
bool isErrorEnabled()
Restituisce l'indicazione se il livello di log "Error" è abilitato sul logger.
bool isWarnEnabled()
Restituisce l'indicazione se il livello di log "Warn" è abilitato sul logger.
virtual ~AbstractLogger()
Distruttore.
void error(const std::string &message)
Scrive un log al livello di log "Error" dato un messaggio.
void info(const std::string &message)
Scrive un log al livello di log "Info" dato un messaggio.
bool isFatalEnabled()
Restituisce l'indicazione se il livello di log "Fatal" è abilitato sul logger.
void trace(const std::string &message)
Scrive un log al livello di log "Trace" dato un messaggio.