diff --git a/CHANGELOG.md b/CHANGELOG.md index c8bb0f72da3..992f8b4ca2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ - FIXED: treat `bicycle=use_sidepath` as no access on the tagged way. [#5622](https://github.com/Project-OSRM/osrm-backend/pull/5622) - Misc: - CHANGED: Reduce memory usage for raster source handling. [#5572](https://github.com/Project-OSRM/osrm-backend/pull/5572) + - CHANGED: Add cmake option `ENABLE_DEBUG_LOGGING` to control whether output debug logging. [#3427](https://github.com/Project-OSRM/osrm-backend/issues/3427) # 5.21.0 - Changes from 5.20.0 diff --git a/CMakeLists.txt b/CMakeLists.txt index 0b1aaf3ab7a..db52c58a61f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,6 +23,7 @@ option(ENABLE_CCACHE "Speed up incremental rebuilds via ccache" ON) option(BUILD_TOOLS "Build OSRM tools" OFF) option(BUILD_PACKAGE "Build OSRM package" OFF) option(ENABLE_ASSERTIONS "Use assertions in release mode" OFF) +option(ENABLE_DEBUG_LOGGING "Use debug logging in release mode" OFF) option(ENABLE_COVERAGE "Build with coverage instrumentalisation" OFF) option(ENABLE_SANITIZER "Use memory sanitizer for Debug build" OFF) option(ENABLE_STXXL "Use STXXL library" OFF) @@ -227,6 +228,7 @@ endif() if(CMAKE_BUILD_TYPE MATCHES Debug OR CMAKE_BUILD_TYPE MATCHES RelWithDebInfo) message(STATUS "Configuring debug mode flags") set(ENABLE_ASSERTIONS ON) + set(ENABLE_DEBUG_LOGGING ON) endif() if(NOT CMAKE_CXX_COMPILER_ID MATCHES "MSVC") @@ -734,6 +736,11 @@ if (ENABLE_ASSERTIONS) add_definitions(-DBOOST_ENABLE_ASSERT_HANDLER) endif() +if (ENABLE_DEBUG_LOGGING) + message(STATUS "Enabling debug logging") + add_definitions(-DENABLE_DEBUG_LOGGING) +endif() + # Add RPATH info to executables so that when they are run after being installed # (i.e., from /usr/local/bin/) the linker can find library dependencies. For # more info see http://www.cmake.org/Wiki/CMake_RPATH_handling diff --git a/src/util/log.cpp b/src/util/log.cpp index 602012bd996..0d9a0681337 100644 --- a/src/util/log.cpp +++ b/src/util/log.cpp @@ -16,7 +16,7 @@ namespace static const char COL_RESET[]{"\x1b[0m"}; static const char RED[]{"\x1b[31m"}; static const char YELLOW[]{"\x1b[33m"}; -#ifndef NDEBUG +#ifdef ENABLE_DEBUG_LOGGING static const char MAGENTA[]{"\x1b[35m"}; #endif // static const char GREEN[] { "\x1b[32m"}; @@ -80,7 +80,7 @@ Log::Log(LogLevel level_, std::ostream &ostream) : level(level_), stream(ostream stream << (is_terminal ? RED : "") << "[error] "; break; case logDEBUG: -#ifndef NDEBUG +#ifdef ENABLE_DEBUG_LOGGING stream << (is_terminal ? MAGENTA : "") << "[debug] "; #endif break; @@ -126,7 +126,7 @@ Log::~Log() std::cerr << std::endl; break; case logDEBUG: -#ifdef NDEBUG +#ifndef ENABLE_DEBUG_LOGGING break; #endif case logINFO: