diff --git a/sdk/core/azure-core/CHANGELOG.md b/sdk/core/azure-core/CHANGELOG.md index 8f2826160..0d0506b24 100644 --- a/sdk/core/azure-core/CHANGELOG.md +++ b/sdk/core/azure-core/CHANGELOG.md @@ -12,6 +12,7 @@ - Removed `Context::GetApplicationContext()` in favor of a new static data member `Context::ApplicationContext`. - Renamed `Request::IsDownloadViaStream()` to `ShouldBufferResponse()`. - Removed the `Azure::Core::Http::Request` ctor overload that takes both a `bodyStream` and a `bufferedDownload` boolean since it is not useful. +- Removed the `Azure::Core::Diagnostics::Logger::Listener` typedef. ### Bug Fixes diff --git a/sdk/core/azure-core/inc/azure/core/diagnostics/logger.hpp b/sdk/core/azure-core/inc/azure/core/diagnostics/logger.hpp index 05c201805..55217a11e 100644 --- a/sdk/core/azure-core/inc/azure/core/diagnostics/logger.hpp +++ b/sdk/core/azure-core/inc/azure/core/diagnostics/logger.hpp @@ -38,21 +38,13 @@ namespace Azure { namespace Core { namespace Diagnostics { Error = 4, }; - /** - * @brief A callback function to receive Azure SDK log messages. - * - * @param level The log message level. - * @param message The log message text. - */ - typedef std::function Listener; - /** * @brief Sets the function that will be invoked to report an Azure SDK log message. * * @param listener A callback function that will be invoked when the SDK reports a log message. * If `nullptr`, no function will be invoked. */ - static void SetListener(Listener listener); + static void SetListener(std::function listener); /** * @brief Sets the log message level an application is interested in receiving. diff --git a/sdk/core/azure-core/src/environment_log_level_listener.cpp b/sdk/core/azure-core/src/environment_log_level_listener.cpp index 1ccef1abb..0afd71d4d 100644 --- a/sdk/core/azure-core/src/environment_log_level_listener.cpp +++ b/sdk/core/azure-core/src/environment_log_level_listener.cpp @@ -123,7 +123,8 @@ Logger::Level EnvironmentLogLevelListener::GetLogLevel(Logger::Level defaultValu return envLogLevelPtr ? *envLogLevelPtr : defaultValue; } -Logger::Listener EnvironmentLogLevelListener::GetLogListener() +std::function +EnvironmentLogLevelListener::GetLogListener() { bool const isEnvLogLevelSet = GetEnvironmentLogLevel() != nullptr; if (!isEnvLogLevelSet) @@ -131,13 +132,14 @@ Logger::Listener EnvironmentLogLevelListener::GetLogListener() return nullptr; } - static Logger::Listener const consoleLogger = [](auto level, auto message) { - std::cerr << '[' - << Azure::DateTime(std::chrono::system_clock::now()) - .ToString( - DateTime::DateFormat::Rfc3339, DateTime::TimeFractionFormat::AllDigits) - << "] " << LogLevelToConsoleString(level) << " : " << message << std::endl; - }; + static std::function const consoleLogger = + [](auto level, auto message) { + std::cerr << '[' + << Azure::DateTime(std::chrono::system_clock::now()) + .ToString( + DateTime::DateFormat::Rfc3339, DateTime::TimeFractionFormat::AllDigits) + << "] " << LogLevelToConsoleString(level) << " : " << message << std::endl; + }; return consoleLogger; } diff --git a/sdk/core/azure-core/src/logger.cpp b/sdk/core/azure-core/src/logger.cpp index fc6db11dd..fa5ace4b7 100644 --- a/sdk/core/azure-core/src/logger.cpp +++ b/sdk/core/azure-core/src/logger.cpp @@ -14,7 +14,8 @@ using namespace Azure::Core::Diagnostics::_internal; namespace { static std::shared_timed_mutex g_logListenerMutex; -static Logger::Listener g_logListener(_detail::EnvironmentLogLevelListener::GetLogListener()); +static std::function g_logListener( + _detail::EnvironmentLogLevelListener::GetLogListener()); } // namespace std::atomic Log::g_isLoggingEnabled( @@ -42,7 +43,8 @@ void Log::Write(Logger::Level level, std::string const& message) } } -void Logger::SetListener(Logger::Listener listener) +void Logger::SetListener( + std::function listener) { std::unique_lock loggerLock(g_logListenerMutex); g_logListener = std::move(listener); diff --git a/sdk/core/azure-core/src/private/environment_log_level_listener.hpp b/sdk/core/azure-core/src/private/environment_log_level_listener.hpp index 4c84ec005..1e550c291 100644 --- a/sdk/core/azure-core/src/private/environment_log_level_listener.hpp +++ b/sdk/core/azure-core/src/private/environment_log_level_listener.hpp @@ -25,7 +25,7 @@ namespace Azure { namespace Core { namespace Diagnostics { namespace _detail { public: static Logger::Level GetLogLevel(Logger::Level defaultValue); - static Logger::Listener GetLogListener(); + static std::function GetLogListener(); }; #if (defined(WINAPI_PARTITION_DESKTOP) && !WINAPI_PARTITION_DESKTOP) // See azure/core/platform.hpp @@ -35,6 +35,10 @@ namespace Azure { namespace Core { namespace Diagnostics { namespace _detail { return defaultValue; } - inline Logger::Listener EnvironmentLogLevelListener::GetLogListener() { return nullptr; } + inline std::function + EnvironmentLogLevelListener::GetLogListener() + { + return nullptr; + } #endif }}}} // namespace Azure::Core::Diagnostics::_detail diff --git a/sdk/core/azure-core/test/ut/simplified_header.cpp b/sdk/core/azure-core/test/ut/simplified_header.cpp index d141eb673..4d66d1ef7 100644 --- a/sdk/core/azure-core/test/ut/simplified_header.cpp +++ b/sdk/core/azure-core/test/ut/simplified_header.cpp @@ -37,7 +37,10 @@ TEST(SimplifiedHeader, core) EXPECT_NO_THROW(Azure::Core::Cryptography::Md5Hash m); EXPECT_NO_THROW(Azure::Core::Http::RawResponse r( 1, 1, Azure::Core::Http::HttpStatusCode::Accepted, "phrase")); - EXPECT_NO_THROW(Azure::Core::Diagnostics::Logger::Listener ll = nullptr); + EXPECT_NO_THROW({ + Azure::Core::Diagnostics::Logger::Level ll; + (void)ll; + }); EXPECT_NO_THROW(Azure::MatchConditions mc); EXPECT_NO_THROW(Azure::ModifiedConditions mc); EXPECT_NO_THROW(Azure::Nullable n);