add two new constructors.
This commit is contained in:
parent
46b7b2a114
commit
af9b0977f6
@ -52,20 +52,30 @@ namespace Opm
|
||||
: use_prefix_(use_prefix),
|
||||
use_color_coding_(use_color_coding)
|
||||
{
|
||||
if (use_prefix_) {
|
||||
prefix_flag_ = Log::DefaultMessageTypes;
|
||||
}
|
||||
}
|
||||
|
||||
SimpleMessageFormatter(const int64_t prefix_flag, const bool use_color_coding)
|
||||
: prefix_flag_(prefix_flag),
|
||||
use_color_coding_(use_color_coding)
|
||||
{
|
||||
}
|
||||
|
||||
SimpleMessageFormatter(const bool use_color_coding)
|
||||
: use_color_coding_(use_color_coding)
|
||||
{
|
||||
prefix_flag_ = Log::MessageType::Warning + Log::MessageType::Error
|
||||
+ Log::MessageType::Problem + Log::MessageType::Bug;
|
||||
}
|
||||
/// Returns a copy of the input string with a flag-dependant
|
||||
/// prefix (if use_prefix) and the entire message in a
|
||||
/// flag-dependent color (if use_color_coding).
|
||||
virtual std::string format(const int64_t message_flag, const std::string& message) override
|
||||
{
|
||||
std::string msg = message;
|
||||
const int64_t prefix_flag = Log::MessageType::Warning + Log::MessageType::Error
|
||||
+ Log::MessageType::Problem + Log::MessageType::Bug;
|
||||
if (message_flag & prefix_flag) {
|
||||
msg = Log::prefixMessage(message_flag, msg);
|
||||
}
|
||||
if (use_prefix_ && !(message_flag & prefix_flag)) {
|
||||
if (message_flag & prefix_flag_) {
|
||||
msg = Log::prefixMessage(message_flag, msg);
|
||||
}
|
||||
if (use_color_coding_) {
|
||||
@ -76,6 +86,7 @@ namespace Opm
|
||||
private:
|
||||
bool use_prefix_ = false;
|
||||
bool use_color_coding_ = false;
|
||||
int64_t prefix_flag_ = 0;
|
||||
};
|
||||
|
||||
|
||||
|
@ -287,10 +287,10 @@ BOOST_AUTO_TEST_CASE(TestOpmLogWithColors)
|
||||
OpmLog::info("Info");
|
||||
OpmLog::bug("Bug");
|
||||
|
||||
const std::string expected = Log::colorCodeMessage(Log::MessageType::Warning, "Warning: Warning") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Error, "Error: Error") + "\n"
|
||||
const std::string expected = Log::colorCodeMessage(Log::MessageType::Warning, "Warning") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Error, "Error") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Info, "Info") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Bug, "Bug: Bug") + "\n";
|
||||
+ Log::colorCodeMessage(Log::MessageType::Bug, "Bug") + "\n";
|
||||
|
||||
BOOST_CHECK_EQUAL(log_stream.str(), expected);
|
||||
|
||||
@ -340,22 +340,22 @@ BOOST_AUTO_TEST_CASE(TestOpmLogWithLimits)
|
||||
OpmLog::warning(tag, "Warning");
|
||||
OpmLog::warning(tag, "Warning");
|
||||
|
||||
const std::string expected1 = Log::colorCodeMessage(Log::MessageType::Warning, "Warning: Warning") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Error, "Error: Error") + "\n"
|
||||
const std::string expected1 = Log::colorCodeMessage(Log::MessageType::Warning, "Warning") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Error, "Error") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Info, "Info") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Bug, "Bug: Bug") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Warning, "Warning: Warning") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Warning, "Warning: Message limit reached for message tag: " + tag) + "\n";
|
||||
+ Log::colorCodeMessage(Log::MessageType::Bug, "Bug") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Warning, "Warning") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Warning, "Message limit reached for message tag: " + tag) + "\n";
|
||||
|
||||
BOOST_CHECK_EQUAL(log_stream1.str(), expected1);
|
||||
|
||||
const std::string expected2 = Log::colorCodeMessage(Log::MessageType::Warning, "Warning: Warning") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Error, "Error: Error") + "\n"
|
||||
const std::string expected2 = Log::colorCodeMessage(Log::MessageType::Warning, "Warning") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Error, "Error") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Info, "Info") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Bug, "Bug: Bug") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Warning, "Warning: Warning") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Warning, "Warning: Warning") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Warning, "Warning: Warning") + "\n";
|
||||
+ Log::colorCodeMessage(Log::MessageType::Bug, "Bug") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Warning, "Warning") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Warning, "Warning") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Warning, "Warning") + "\n";
|
||||
|
||||
BOOST_CHECK_EQUAL(log_stream2.str(), expected2);
|
||||
|
||||
@ -372,3 +372,51 @@ BOOST_AUTO_TEST_CASE(TestsetupSimpleLog)
|
||||
OpmLog::setupSimpleDefaultLogging(use_prefix);
|
||||
BOOST_CHECK_EQUAL(true, OpmLog::hasBackend("SimpleDefaultLog"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_CASE(TestFormat)
|
||||
{
|
||||
OpmLog::removeAllBackends();
|
||||
std::ostringstream log_stream1;
|
||||
std::ostringstream log_stream2;
|
||||
std::ostringstream log_stream3;
|
||||
{
|
||||
std::shared_ptr<StreamLog> streamLog1 = std::make_shared<StreamLog>(log_stream1, Log::DefaultMessageTypes);
|
||||
std::shared_ptr<StreamLog> streamLog2 = std::make_shared<StreamLog>(log_stream2, Log::DefaultMessageTypes);
|
||||
std::shared_ptr<StreamLog> streamLog3 = std::make_shared<StreamLog>(log_stream3, Log::DefaultMessageTypes);
|
||||
OpmLog::addBackend("STREAM1" , streamLog1);
|
||||
OpmLog::addBackend("STREAM2" , streamLog2);
|
||||
OpmLog::addBackend("STREAM3" , streamLog3);
|
||||
BOOST_CHECK_EQUAL( true , OpmLog::hasBackend("STREAM1"));
|
||||
BOOST_CHECK_EQUAL( true , OpmLog::hasBackend("STREAM2"));
|
||||
BOOST_CHECK_EQUAL( true , OpmLog::hasBackend("STREAM3"));
|
||||
streamLog1->setMessageFormatter(std::make_shared<SimpleMessageFormatter>(false, true));
|
||||
streamLog2->setMessageFormatter(std::make_shared<SimpleMessageFormatter>(Log::MessageType::Info, true));
|
||||
streamLog3->setMessageFormatter(std::make_shared<SimpleMessageFormatter>(false));
|
||||
}
|
||||
|
||||
OpmLog::warning("Warning");
|
||||
OpmLog::error("Error");
|
||||
OpmLog::info("Info");
|
||||
OpmLog::bug("Bug");
|
||||
|
||||
const std::string expected1 = Log::colorCodeMessage(Log::MessageType::Warning, "Warning") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Error, "Error") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Info, "Info") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Bug, "Bug") + "\n";
|
||||
|
||||
const std::string expected2 = Log::colorCodeMessage(Log::MessageType::Warning, "Warning") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Error, "Error") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Info, "Info: Info") + "\n"
|
||||
+ Log::colorCodeMessage(Log::MessageType::Bug, "Bug") + "\n";
|
||||
|
||||
const std::string expected3 = Log::prefixMessage(Log::MessageType::Warning, "Warning") + "\n"
|
||||
+ Log::prefixMessage(Log::MessageType::Error, "Error") + "\n"
|
||||
+ "Info" + "\n"
|
||||
+ Log::prefixMessage(Log::MessageType::Bug, "Bug") + "\n";
|
||||
|
||||
BOOST_CHECK_EQUAL(log_stream1.str(), expected1);
|
||||
BOOST_CHECK_EQUAL(log_stream2.str(), expected2);
|
||||
BOOST_CHECK_EQUAL(log_stream3.str(), expected3);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user