Make LogBackend pure virtual, also clean and document.
This commit is contained in:
parent
03e833db1b
commit
de87c5a5b5
@ -27,6 +27,9 @@ namespace Opm {
|
||||
{
|
||||
}
|
||||
|
||||
LogBackend::~LogBackend()
|
||||
{
|
||||
}
|
||||
|
||||
bool LogBackend::includeMessage(int64_t messageFlag) {
|
||||
if (((messageFlag & m_mask) == messageFlag) &&
|
||||
|
@ -24,22 +24,38 @@
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
namespace Opm {
|
||||
namespace Opm
|
||||
{
|
||||
|
||||
class LogBackend {
|
||||
/// Abstract interface class for log backends.
|
||||
class LogBackend
|
||||
{
|
||||
public:
|
||||
/// Construct with given message mask.
|
||||
explicit LogBackend(int64_t mask);
|
||||
|
||||
public:
|
||||
LogBackend( int64_t mask );
|
||||
virtual ~LogBackend() { };
|
||||
virtual void addMessage(int64_t , const std::string& ) { };
|
||||
/// Virtual destructor to enable inheritance.
|
||||
virtual ~LogBackend();
|
||||
|
||||
int64_t getMask() const;
|
||||
bool includeMessage(int64_t messageFlag);
|
||||
/// Add a message to the backend.
|
||||
///
|
||||
/// Typically a subclass may filter, change, and output
|
||||
/// messages based on configuration and the messageFlag.
|
||||
virtual void addMessage(int64_t messageFlag, const std::string& message) = 0;
|
||||
|
||||
private:
|
||||
int64_t m_mask;
|
||||
};
|
||||
}
|
||||
/// The message mask types are specified in the
|
||||
/// Opm::Log::MessageType namespace, in file LogUtils.hpp.
|
||||
int64_t getMask() const;
|
||||
|
||||
protected:
|
||||
/// Return true if all bits of messageFlag are also set in our mask.
|
||||
bool includeMessage(int64_t messageFlag);
|
||||
|
||||
private:
|
||||
int64_t m_mask;
|
||||
};
|
||||
|
||||
} // namespace LogBackend
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -55,23 +55,6 @@ BOOST_AUTO_TEST_CASE(Test_Format) {
|
||||
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_CASE(Test_AbstractBackend) {
|
||||
int64_t mask = 1+4+16;
|
||||
LogBackend backend(mask);
|
||||
|
||||
BOOST_CHECK_EQUAL(false , backend.includeMessage(0 ));
|
||||
BOOST_CHECK_EQUAL(true , backend.includeMessage(1 ));
|
||||
BOOST_CHECK_EQUAL(false , backend.includeMessage(2 ));
|
||||
BOOST_CHECK_EQUAL(true , backend.includeMessage(4 ));
|
||||
BOOST_CHECK_EQUAL(false , backend.includeMessage(8 ));
|
||||
BOOST_CHECK_EQUAL(true , backend.includeMessage(16 ));
|
||||
|
||||
BOOST_CHECK_EQUAL(false, backend.includeMessage(6 ));
|
||||
BOOST_CHECK_EQUAL(true , backend.includeMessage(5 ));
|
||||
}
|
||||
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_CASE(Test_Logger) {
|
||||
Logger logger;
|
||||
std::ostringstream log_stream;
|
||||
|
Loading…
Reference in New Issue
Block a user