summaryrefslogtreecommitdiff
path: root/src/logger/logger_set.hpp
blob: e482042d9b5407ff01596f0dc9e93179a2c9b6c8 (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
#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;

		void LogError( std::string const& method, std::string const& message );
		static std::shared_ptr < LoggerSet > GetInstance();
	};
}