UMPS
The University of Utah Seismograph Stations Message Passing System.
dailyFile.hpp
1 #ifndef UMPS_LOGGING_DAILY_FILE_HPP
2 #define UMPS_LOGGING_DAILY_FILE_HPP
3 #include <memory>
4 #include "umps/logging/log.hpp"
5 namespace UMPS::Logging
6 {
11 class DailyFile : public ILog
12 {
13 public:
16 
21  DailyFile(const DailyFile &logger);
25  DailyFile(DailyFile &&logger) noexcept;
27 
30 
34  DailyFile &operator=(const DailyFile &logger);
39  DailyFile &operator=(DailyFile &&logger) noexcept;
41 
44 
55  void initialize(const std::string &loggerName,
56  const std::string &fileName,
57  Level level = Level::Info,
58  int hour = 0,
59  int minute = 0);
61  [[nodiscard]] Level getLevel() const noexcept override;
63 
66 
69  void error(const std::string &message) override;
72  void warn(const std::string &message) override;
75  void info(const std::string &message) override;
78  void debug(const std::string &message) override;
80 
83 
85  ~DailyFile() override;
87 private:
88  class DailyFileImpl;
89  std::unique_ptr<DailyFileImpl> pImpl;
90 };
91 }
92 #endif
Defines the logging level.
A daily logger as implemented by the SpdLog library.
Definition: dailyFile.hpp:12
void info(const std::string &message) override
Writes an info message.
DailyFile(DailyFile &&logger) noexcept
Move construtor.
void error(const std::string &message) override
Writes an error message.
DailyFile(const DailyFile &logger)
Copy constructor.
void initialize(const std::string &loggerName, const std::string &fileName, Level level=Level::Info, int hour=0, int minute=0)
Initializes the logger.
Level getLevel() const noexcept override
DailyFile & operator=(DailyFile &&logger) noexcept
Move assignment operator.
void debug(const std::string &message) override
Writes a debug message.
void warn(const std::string &message) override
Writes a warning message.
DailyFile & operator=(const DailyFile &logger)
Copy assignment operator.
This is an abstract base class that allows users to define custom loggers to be used in other applica...
Definition: log.hpp:13