summaryrefslogtreecommitdiff
path: root/src/logger/logger_set.hpp
blob: c60779be623ffb4ef49debbedfdfcd8cec17d4e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#pragma once

#include <string>
#include <list>

#include "types/ilogger.hpp"

namespace smtp::logger
{
	class LoggerSet
	{
	private:
		explicit LoggerSet( std::list < types::ILoggerPtr > const& logger );
		static void BuildLogger();

		static std::shared_ptr < LoggerSet > mInstance;
		std::list < types::ILoggerPtr > mLogger;
	public:
		LoggerSet( const LoggerSet& ) = delete;
		LoggerSet& operator=( LoggerSet& ) = delete;

        static std::shared_ptr < LoggerSet > GetInstance();

		void LogError( std::string const& method, std::string const& message );
        void LogOk( std::string const& message );
	};
}