diff options
author | Devtools Arcadia <arcadia-devtools@yandex-team.ru> | 2022-02-07 18:08:42 +0300 |
---|---|---|
committer | Devtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net> | 2022-02-07 18:08:42 +0300 |
commit | 1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch) | |
tree | e26c9fed0de5d9873cce7e00bc214573dc2195b7 /library/cpp/logger/global/global.cpp | |
download | ydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz |
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'library/cpp/logger/global/global.cpp')
-rw-r--r-- | library/cpp/logger/global/global.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/library/cpp/logger/global/global.cpp b/library/cpp/logger/global/global.cpp new file mode 100644 index 0000000000..9fbd10f666 --- /dev/null +++ b/library/cpp/logger/global/global.cpp @@ -0,0 +1,43 @@ +#include "global.h" + +static void DoInitGlobalLog(THolder<TGlobalLog> logger, THolder<ILoggerFormatter> formatter) { + TLoggerOperator<TGlobalLog>::Set(logger.Release()); + if (!formatter) { + formatter.Reset(CreateRtyLoggerFormatter()); + } + TLoggerFormatterOperator::Set(formatter.Release()); +} + +void DoInitGlobalLog(const TString& logType, const int logLevel, const bool rotation, const bool startAsDaemon, THolder<ILoggerFormatter> formatter, bool threaded) { + DoInitGlobalLog( + MakeHolder<TGlobalLog>( + CreateLogBackend( + NLoggingImpl::PrepareToOpenLog(logType, logLevel, rotation, startAsDaemon), + (ELogPriority)logLevel, + threaded)), + std::move(formatter)); +} + +void DoInitGlobalLog(THolder<TLogBackend> backend, THolder<ILoggerFormatter> formatter) { + DoInitGlobalLog(THolder(new TGlobalLog(std::move(backend))), std::move(formatter)); +} + +bool GlobalLogInitialized() { + return TLoggerOperator<TGlobalLog>::Usage(); +} + +template <> +TGlobalLog* CreateDefaultLogger<TGlobalLog>() { + return new TGlobalLog("console", TLOG_INFO); +} + +template <> +TNullLog* CreateDefaultLogger<TNullLog>() { + return new TNullLog("null"); +} + +NPrivateGlobalLogger::TVerifyEvent::~TVerifyEvent() { + const TString info = Str(); + FATAL_LOG << info << Endl; + Y_FAIL("%s", info.data()); +} |