aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhiddenpath <hiddenpath@yandex-team.com>2025-04-18 00:34:24 +0300
committerhiddenpath <hiddenpath@yandex-team.com>2025-04-18 00:46:47 +0300
commita847c750ea4604e2d7be78fda10e04b5ae7789a3 (patch)
tree0935008b54a01f9ed8d42bca8fd303b759e4a9bc
parent616eb989446964d4ae7b34ba846a3f2dbc9d187e (diff)
downloadydb-a847c750ea4604e2d7be78fda10e04b5ae7789a3.tar.gz
YT-23645: Introduce IsDefaultConfigured method in yt/core logger
commit_hash:8e8156e1330120223f9e7a5b850380a7c75a7929
-rw-r--r--yt/yt/core/logging/log_manager.cpp17
-rw-r--r--yt/yt/core/logging/log_manager.h1
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();