danicoin/src/Logging/LoggerManager.h

27 lines
694 B
C
Raw Normal View History

// Copyright (c) 2011-2016 The Cryptonote developers
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#pragma once
2015-05-27 12:08:46 +00:00
#include <list>
#include <memory>
#include <mutex>
#include "../Common/JsonValue.h"
#include "LoggerGroup.h"
2015-05-27 12:08:46 +00:00
namespace Logging {
2015-05-27 12:08:46 +00:00
class LoggerManager : public LoggerGroup {
public:
2015-05-27 12:08:46 +00:00
LoggerManager();
void configure(const Common::JsonValue& val);
virtual void operator()(const std::string& category, Level level, boost::posix_time::ptime time, const std::string& body) override;
2014-09-15 10:48:45 +00:00
private:
2015-05-27 12:08:46 +00:00
std::vector<std::unique_ptr<CommonLogger>> loggers;
std::mutex reconfigureLock;
};
}