aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorshmel1k <shmel1k@ydb.tech>2022-09-16 17:10:11 +0300
committershmel1k <shmel1k@ydb.tech>2022-09-16 17:10:11 +0300
commit0543d8ded75208f6c8de016998adb0d8b9b7530d (patch)
tree2d5ba0afab47461e008243101e506e671c83287d
parent71494c6a0a1c1f696dac9a26779712b22dc053b1 (diff)
downloadydb-0543d8ded75208f6c8de016998adb0d8b9b7530d.tar.gz
[] add possibility to log driver messages
-rw-r--r--ydb/public/lib/ydb_cli/commands/ydb_command.cpp14
-rw-r--r--ydb/public/lib/ydb_cli/commands/ydb_command.h6
-rw-r--r--ydb/public/lib/ydb_cli/commands/ydb_service_topic.cpp22
3 files changed, 38 insertions, 4 deletions
diff --git a/ydb/public/lib/ydb_cli/commands/ydb_command.cpp b/ydb/public/lib/ydb_cli/commands/ydb_command.cpp
index e1b8fab3e6f..09075458168 100644
--- a/ydb/public/lib/ydb_cli/commands/ydb_command.cpp
+++ b/ydb/public/lib/ydb_cli/commands/ydb_command.cpp
@@ -8,7 +8,7 @@ TYdbCommand::TYdbCommand(const TString& name, const std::initializer_list<TStrin
:TClientCommand(name, aliases, description)
{}
-TDriver TYdbCommand::CreateDriver(TConfig& config) {
+TDriverConfig TYdbCommand::CreateDriverConfig(TConfig& config) {
auto driverConfig = TDriverConfig()
.SetEndpoint(config.Address)
.SetDatabase(config.Database)
@@ -16,6 +16,18 @@ TDriver TYdbCommand::CreateDriver(TConfig& config) {
if (config.EnableSsl) {
driverConfig.UseSecureConnection(config.CaCerts);
}
+
+ return driverConfig;
+}
+
+TDriver TYdbCommand::CreateDriver(TConfig& config) {
+ return TDriver(CreateDriverConfig(config));
+}
+
+TDriver TYdbCommand::CreateDriver(TConfig& config, THolder<TLogBackend>&& loggingBackend) {
+ auto driverConfig = CreateDriverConfig(config);
+ driverConfig.SetLog(std::move(loggingBackend));
+
return TDriver(driverConfig);
}
diff --git a/ydb/public/lib/ydb_cli/commands/ydb_command.h b/ydb/public/lib/ydb_cli/commands/ydb_command.h
index 95b967ec447..85fe317f0f1 100644
--- a/ydb/public/lib/ydb_cli/commands/ydb_command.h
+++ b/ydb/public/lib/ydb_cli/commands/ydb_command.h
@@ -5,6 +5,8 @@
#include <ydb/public/sdk/cpp/client/ydb_driver/driver.h>
#include <ydb/public/sdk/cpp/client/draft/ydb_scripting.h>
+#include <library/cpp/logger/backend.h>
+
namespace NYdb {
namespace NConsoleClient {
@@ -16,6 +18,10 @@ public:
const TString& description = TString()
);
TDriver CreateDriver(TConfig& config);
+ TDriver CreateDriver(TConfig& config, THolder<TLogBackend>&& loggingBackend);
+
+private:
+ TDriverConfig CreateDriverConfig(TConfig& config);
};
class TYdbSimpleCommand : public TYdbCommand {
diff --git a/ydb/public/lib/ydb_cli/commands/ydb_service_topic.cpp b/ydb/public/lib/ydb_cli/commands/ydb_service_topic.cpp
index 1543ff0442c..183313c8e45 100644
--- a/ydb/public/lib/ydb_cli/commands/ydb_service_topic.cpp
+++ b/ydb/public/lib/ydb_cli/commands/ydb_service_topic.cpp
@@ -38,7 +38,6 @@ namespace NYdb::NConsoleClient {
std::pair<NTopic::EMeteringMode, TString>(NTopic::EMeteringMode::RequestUnits, "Read/write operations valued in request units, storage usage on hourly basis."),
};
- // TODO(shmel1k@): improve docs
THashMap<ETopicMetadataField, TString> TopicMetadataFieldsDescriptions = {
{ETopicMetadataField::Body, "Message data"},
{ETopicMetadataField::WriteTime, "Message write time, a UNIX timestamp the message was written to server."},
@@ -79,6 +78,21 @@ namespace NYdb::NConsoleClient {
bool IsStreamingFormat(EMessagingFormat format) {
return format == EMessagingFormat::NewlineDelimited || format == EMessagingFormat::Concatenated;
}
+
+ ELogPriority VerbosityLevelToELogPriority(TClientCommand::TConfig::EVerbosityLevel lvl) {
+ switch (lvl) {
+ case TClientCommand::TConfig::EVerbosityLevel::NONE:
+ return ELogPriority::TLOG_EMERG;
+ case TClientCommand::TConfig::EVerbosityLevel::DEBUG:
+ return ELogPriority::TLOG_DEBUG;
+ case TClientCommand::TConfig::EVerbosityLevel::INFO:
+ return ELogPriority::TLOG_INFO;
+ case TClientCommand::TConfig::EVerbosityLevel::WARN:
+ return ELogPriority::TLOG_WARNING;
+ default:
+ return ELogPriority::TLOG_EMERG;
+ }
+ }
} // namespace
namespace {
@@ -595,7 +609,8 @@ namespace NYdb::NConsoleClient {
int TCommandTopicRead::Run(TConfig& config) {
ValidateConfig();
- auto driver = std::make_unique<TDriver>(CreateDriver(config));
+ auto driver =
+ std::make_unique<TDriver>(CreateDriver(config, CreateLogBackend("cerr", VerbosityLevelToELogPriority(config.VerbosityLevel))));
NTopic::TTopicClient topicClient(*driver);
auto readSession = topicClient.CreateReadSession(PrepareReadSessionSettings());
@@ -725,7 +740,8 @@ namespace NYdb::NConsoleClient {
int TCommandTopicWrite::Run(TConfig& config) {
SetInterruptHandlers();
- auto driver = std::make_unique<TDriver>(CreateDriver(config));
+ auto driver =
+ std::make_unique<TDriver>(CreateDriver(config, CreateLogBackend("cerr", VerbosityLevelToELogPriority(config.VerbosityLevel))));
NTopic::TTopicClient topicClient(*driver);
TTopicInitializationChecker checker = TTopicInitializationChecker(topicClient);
checker.CheckTopicExistence(TopicName);