#include "backend_creator.h" #include "stream.h" #include "uninitialized_creator.h" #include #include #include THolder ILogBackendCreator::CreateLogBackend() const { try { return DoCreateLogBackend(); } catch(...) { Cdbg << "Warning: " << CurrentExceptionMessage() << ". Use stderr instead." << Endl; } return MakeHolder(&Cerr); } bool ILogBackendCreator::Init(const IInitContext& /*ctx*/) { return true; } NJson::TJsonValue ILogBackendCreator::AsJson() const { NJson::TJsonValue json; ToJson(json); return json; } THolder ILogBackendCreator::Create(const IInitContext& ctx) { auto res = MakeHolder(); if(!res->Init(ctx)) { Cdbg << "Cannot init log backend creator"; return nullptr; } return res; } TLogBackendCreatorBase::TLogBackendCreatorBase(const TString& type) : Type(type) {} void TLogBackendCreatorBase::ToJson(NJson::TJsonValue& value) const { value["LoggerType"] = Type; DoToJson(value); }