Skip to content

Commit

Permalink
Merge pull request #334 from ignitionrobotics/3-to-4-20220331
Browse files Browse the repository at this point in the history
3 to 4 20220331
  • Loading branch information
nkoenig authored Apr 1, 2022
2 parents c0d7e6c + a0433ab commit d7266a3
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/Console.cc
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ Logger::~Logger()
/////////////////////////////////////////////////
Logger &Logger::operator()()
{
Console::log << "(" << ignition::common::systemTimeIso() << ") ";
Console::log() << "(" << ignition::common::systemTimeIso() << ") ";
(*this) << Console::Prefix() << this->prefix;

return (*this);
Expand All @@ -99,7 +99,7 @@ Logger &Logger::operator()(const std::string &_file, int _line)
{
int index = _file.find_last_of("/") + 1;

Console::log << "(" << ignition::common::systemTimeIso() << ") ";
Console::log() << "(" << ignition::common::systemTimeIso() << ") ";
std::stringstream prefixString;
prefixString << Console::Prefix() << this->prefix
<< "[" << _file.substr(index , _file.size() - index) << ":"
Expand Down
48 changes: 48 additions & 0 deletions test/integration/console.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/*
* Copyright (C) 2022 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/

#include <gtest/gtest.h>

#include "ignition/common/Console.hh"
#include "test_config.h"

using namespace ignition;

TEST(Console_TEST, LogInitAfterConsoleOut)
{
std::string logFilename = "uri.log";
std::string logDir = common::joinPaths(PROJECT_BINARY_PATH, "test", "uri");
std::string logFile = common::joinPaths(logDir, logFilename);

common::Console::SetVerbosity(4);

// We are not logging to a file yet.
ignerr << "This is an error" << std::endl;

// Initialize the log file.
ignLogInit(logDir, logFilename);

// Run the same console output, which should output the message to the log
// file.
ignerr << "This is an error" << std::endl;
std::ifstream t(logFile);
std::string buffer((std::istreambuf_iterator<char>(t)),
std::istreambuf_iterator<char>());

EXPECT_TRUE(buffer.find("This is an error") != std::string::npos)
<< "Log file content[" << buffer << "]\n";
}

0 comments on commit d7266a3

Please sign in to comment.