summaryrefslogtreecommitdiffstats
path: root/yt/cpp/mapreduce/interface/logging/yt_log.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'yt/cpp/mapreduce/interface/logging/yt_log.cpp')
-rw-r--r--yt/cpp/mapreduce/interface/logging/yt_log.cpp31
1 files changed, 21 insertions, 10 deletions
diff --git a/yt/cpp/mapreduce/interface/logging/yt_log.cpp b/yt/cpp/mapreduce/interface/logging/yt_log.cpp
index d41bfa559f1..6c464d48ac4 100644
--- a/yt/cpp/mapreduce/interface/logging/yt_log.cpp
+++ b/yt/cpp/mapreduce/interface/logging/yt_log.cpp
@@ -26,23 +26,34 @@ public:
::TSourceLocation sourceLocation,
TStringBuf anchorMessage) override
{
+ if (auto* defaultLogManager = GetDefaultLogManager()) {
+ defaultLogManager->RegisterStaticAnchor(anchor, sourceLocation, anchorMessage);
+ }
auto guard = Guard(Mutex_);
anchor->SourceLocation = sourceLocation;
anchor->AnchorMessage = anchorMessage;
}
- void UpdateAnchor(TLoggingAnchor* /*position*/) override
- { }
+ void UpdateAnchor(TLoggingAnchor* anchor) override
+ {
+ if (auto* defaultLogManager = GetDefaultLogManager()) {
+ defaultLogManager->UpdateAnchor(anchor);
+ }
+ }
void Enqueue(TLogEvent&& event) override
{
- auto message = TString(event.MessageRef.ToStringBuf());
- LogMessage(
- ToImplLevel(event.Level),
- ::TSourceLocation(event.SourceFile, event.SourceLine),
- "%.*s",
- event.MessageRef.size(),
- event.MessageRef.begin());
+ if (auto logger = GetLogger()) {
+ LogMessage(
+ logger,
+ ToImplLevel(event.Level),
+ ::TSourceLocation(event.SourceFile, event.SourceLine),
+ "%.*s",
+ event.MessageRef.size(),
+ event.MessageRef.begin());
+ } else if (auto* defaultLogManager = GetDefaultLogManager()) {
+ defaultLogManager->Enqueue(std::move(event));
+ }
}
const TLoggingCategory* GetCategory(TStringBuf categoryName) override
@@ -81,7 +92,7 @@ private:
}
}
- static void LogMessage(ILogger::ELevel level, const ::TSourceLocation& sourceLocation, const char* format, ...)
+ static void LogMessage(const ILoggerPtr& logger, ILogger::ELevel level, const ::TSourceLocation& sourceLocation, const char* format, ...)
{
va_list args;
va_start(args, format);