#include "structured.h" #include #include #include namespace NYT::NDetail { using namespace NLogging; //////////////////////////////////////////////////////////////////////////////// void InitializeStructuredLogging( TLogManagerConfigPtr logManagerConfig, const TString& structuredLogPath) { auto ruleConfig = New(); ruleConfig->MinLevel = ELogLevel::Info; ruleConfig->Writers.push_back(StructuredLogTypeName); ruleConfig->IncludeCategories = {"Structured"}; auto writerConfig = New(); writerConfig->Type = StructuredLogTypeName; writerConfig->FileName = NFS::NormalizePathSeparators(structuredLogPath); writerConfig->Format = ELogFormat::Json; logManagerConfig->Rules.emplace_back(std::move(ruleConfig)); EmplaceOrCrash( logManagerConfig->Writers, StructuredLogTypeName, ConvertTo(writerConfig)); } void RegisterStructuredLogWriterFactory() { TLogManager::Get()->RegisterWriterFactory(StructuredLogTypeName, GetFileLogWriterFactory()); } //////////////////////////////////////////////////////////////////////////////// } // namespace NYT::NDetail