MotorControlModuleSDFM_TMS3.../Projects/EFC_Communication/UMLibrary/logging/Logger.hh
2024-06-07 11:12:56 +03:00

48 lines
881 B
C++

#ifndef LOGGING_LOGGER_H_
#define LOGGING_LOGGER_H_
#include "ILogger.hh"
#include "ILogHandler.hh"
#include "LoggingBase.hh"
#include <memory_resource>
#include <ctime>
#include "../common/ResourceKeeper.hpp"
namespace logging {
class Logger : public ILogger {
public:
typedef uint16_t Id;
private:
Id idx;
ResourceKeeper<ILogHandler> * handler; // Хранитель журнала.
base::log_permit_flag log_permission;
uint32_t on_counter;
void fill_record( const char * message, std::size_t length,
LogRecord & record );
public:
Logger(Id, base::log_permit_flag, uint32_t on_counter );
void log_critical( const char *, std::size_t );
void log_error( const char *, std::size_t );
void log_information( const char *, std::size_t );
void add_handler( ResourceKeeper<ILogHandler> * );
};
}
#endif /* LOGGING_LOGGER_H_ */