diff options
author | hiddenpath <hiddenpath@yandex-team.com> | 2025-04-18 00:34:24 +0300 |
---|---|---|
committer | hiddenpath <hiddenpath@yandex-team.com> | 2025-04-18 00:46:47 +0300 |
commit | a847c750ea4604e2d7be78fda10e04b5ae7789a3 (patch) | |
tree | 0935008b54a01f9ed8d42bca8fd303b759e4a9bc | |
parent | 616eb989446964d4ae7b34ba846a3f2dbc9d187e (diff) | |
download | ydb-a847c750ea4604e2d7be78fda10e04b5ae7789a3.tar.gz |
YT-23645: Introduce IsDefaultConfigured method in yt/core logger
commit_hash:8e8156e1330120223f9e7a5b850380a7c75a7929
-rw-r--r-- | yt/yt/core/logging/log_manager.cpp | 17 | ||||
-rw-r--r-- | yt/yt/core/logging/log_manager.h | 1 |
2 files changed, 18 insertions, 0 deletions
diff --git a/yt/yt/core/logging/log_manager.cpp b/yt/yt/core/logging/log_manager.cpp index 6ae91e95cfc..8697b0cd19d 100644 --- a/yt/yt/core/logging/log_manager.cpp +++ b/yt/yt/core/logging/log_manager.cpp @@ -392,6 +392,7 @@ public: if (!IsConfiguredFromEnv()) { DoUpdateConfig(TLogManagerConfig::CreateDefault(), /*fromEnv*/ false); + DefaultConfigured_.store(true); } SystemCategory_ = GetCategory(SystemLoggingCategoryName); @@ -428,6 +429,13 @@ public: if (sync) { future.Get().ThrowOnError(); } + + DefaultConfigured_.store(false); + } + + bool IsDefaultConfigured() + { + return DefaultConfigured_.load(); } void ConfigureFromEnv() @@ -1435,6 +1443,7 @@ private: // Incrementing version forces loggers to update their own default configuration (default level etc.). std::atomic<int> Version_ = 0; + std::atomic<bool> DefaultConfigured_ = false; std::atomic<bool> ConfiguredFromEnv_ = false; // These are just cached (for performance reason) copies from Config_. @@ -1544,6 +1553,14 @@ void TLogManager::Configure(TLogManagerConfigPtr config, bool sync) Impl_->Configure(std::move(config), /*fromEnv*/ false, sync); } +bool TLogManager::IsDefaultConfigured() +{ + [[unlikely]] if (!Impl_->IsInitialized()) { + return false; + } + return Impl_->IsDefaultConfigured(); +} + void TLogManager::ConfigureFromEnv() { [[unlikely]] if (!Impl_->IsInitialized()) { diff --git a/yt/yt/core/logging/log_manager.h b/yt/yt/core/logging/log_manager.h index 37a7073cee2..2f606a124d3 100644 --- a/yt/yt/core/logging/log_manager.h +++ b/yt/yt/core/logging/log_manager.h @@ -32,6 +32,7 @@ public: static TLogManager* Get(); void Configure(TLogManagerConfigPtr config, bool sync = true); + bool IsDefaultConfigured(); void ConfigureFromEnv(); bool IsConfiguredFromEnv(); |