2016-01-18 15:33:29 +00:00
|
|
|
// Copyright (c) 2011-2016 The Cryptonote developers
|
2015-04-23 16:07:22 +00:00
|
|
|
// Distributed under the MIT/X11 software license, see the accompanying
|
|
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <mutex>
|
|
|
|
#include "CommonLogger.h"
|
|
|
|
|
2015-05-27 12:08:46 +00:00
|
|
|
namespace Logging {
|
2015-04-23 16:07:22 +00:00
|
|
|
|
|
|
|
class StreamLogger : public CommonLogger {
|
|
|
|
public:
|
2015-05-27 12:08:46 +00:00
|
|
|
StreamLogger(Level level = DEBUGGING);
|
|
|
|
StreamLogger(std::ostream& stream, Level level = DEBUGGING);
|
|
|
|
void attachToStream(std::ostream& stream);
|
2015-04-23 16:07:22 +00:00
|
|
|
|
|
|
|
protected:
|
2015-05-27 12:08:46 +00:00
|
|
|
virtual void doLogString(const std::string& message) override;
|
|
|
|
|
|
|
|
protected:
|
|
|
|
std::ostream* stream;
|
2015-04-23 16:07:22 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
std::mutex mutex;
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|