Skip to content

Commit 7bc57bb

Browse files
added logging
1 parent 553f52e commit 7bc57bb

File tree

67 files changed

+613
-295
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+613
-295
lines changed

dev-1/lesson-2.1/java/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@
3333
<groupId>tech.ydb</groupId>
3434
<artifactId>ydb-sdk-query</artifactId>
3535
</dependency>
36+
<dependency>
37+
<groupId>org.apache.logging.log4j</groupId>
38+
<artifactId>log4j-slf4j-impl</artifactId>
39+
<version>2.24.1</version>
40+
</dependency>
3641
</dependencies>
3742

3843
<build>

dev-1/lesson-2.1/java/src/main/java/tech/ydb/app/Application.java

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package tech.ydb.app;
22

3+
import org.slf4j.Logger;
4+
import org.slf4j.LoggerFactory;
35
import tech.ydb.common.transaction.TxMode;
46
import tech.ydb.core.grpc.GrpcTransport;
57
import tech.ydb.query.QueryClient;
@@ -9,32 +11,36 @@
911

1012
import java.time.Duration;
1113

12-
/*
14+
/**
1315
* @author Kirill Kurdyukov
1416
*/
1517
public class Application {
16-
// Строка подключения к локальной базе данных YDB
17-
// Формат: grpc://<хост>:<порт>/<путь к базе данных>
18+
private static final Logger LOGGER = LoggerFactory.getLogger(Application.class);
19+
20+
/**
21+
* Строка подключения к локальной базе данных YDB
22+
* Формат: grpc://<хост>:<порт>/<путь к базе данных>
23+
*/
1824
private static final String CONNECTION_STRING = "grpc://localhost:2136/local";
1925

2026
public static void main(String[] args) {
2127
// Создаем драйвер для подключения к YDB через gRPC
2228
try (GrpcTransport grpcTransport = GrpcTransport
2329
.forConnectionString(CONNECTION_STRING)
24-
.withConnectTimeout(Duration.ofSeconds(10)
25-
).build()) {
30+
.withConnectTimeout(Duration.ofSeconds(10))
31+
.build()
32+
) {
2633
// Создаем клиент для выполнения SQL-запросов
2734
try (QueryClient queryClient = QueryClient.newClient(grpcTransport).build()) {
2835
// Создаем контекст для автоматических повторных попыток выполнения запросов
2936
SessionRetryContext retryCtx = SessionRetryContext.create(queryClient).build();
3037

31-
System.out.println("Database is available! Result `SELECT 1;` command: " +
32-
new YdbRepository(retryCtx).SelectOne());
38+
LOGGER.info("Database is available! Result `SELECT 1;` command: {}", new YdbRepository(retryCtx).SelectOne());
3339
}
3440
}
3541
}
3642

37-
/*
43+
/**
3844
* Класс для работы с YDB, инкапсулирующий логику выполнения запросов
3945
*/
4046
public static class YdbRepository {
@@ -44,8 +50,9 @@ public YdbRepository(SessionRetryContext retryCtx) {
4450
this.retryCtx = retryCtx;
4551
}
4652

47-
/*
53+
/**
4854
* Выполняет простой SQL-запрос SELECT 1 для проверки работоспособности базы данных
55+
*
4956
* @return результат запроса (всегда 1)
5057
*/
5158
public int SelectOne() {
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<Configuration status="WARN">
2+
<Appenders>
3+
<Console name="Console" target="SYSTEM_OUT">
4+
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
5+
</Console>
6+
</Appenders>
7+
8+
<Loggers>
9+
<Logger name="io.netty" level="warn" additivity="false">
10+
<AppenderRef ref="Console"/>
11+
</Logger>
12+
<Logger name="io.grpc.netty" level="warn" additivity="false">
13+
<AppenderRef ref="Console"/>
14+
</Logger>
15+
<Logger name="tech.ydb.core.grpc" level="info" additivity="false">
16+
<AppenderRef ref="Console"/>
17+
</Logger>
18+
19+
<Root level="info">
20+
<AppenderRef ref="Console"/>
21+
</Root>
22+
</Loggers>
23+
</Configuration>

dev-1/lesson-3.1/java/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@
2929
<groupId>tech.ydb</groupId>
3030
<artifactId>ydb-sdk-query</artifactId>
3131
</dependency>
32+
<dependency>
33+
<groupId>org.apache.logging.log4j</groupId>
34+
<artifactId>log4j-slf4j-impl</artifactId>
35+
<version>2.24.1</version>
36+
</dependency>
3237
</dependencies>
3338

3439
<build>

dev-1/lesson-3.1/java/src/main/java/tech/ydb/app/Application.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,26 @@
11
package tech.ydb.app;
22

3+
import org.slf4j.Logger;
4+
import org.slf4j.LoggerFactory;
35
import tech.ydb.core.grpc.GrpcTransport;
46
import tech.ydb.query.QueryClient;
57
import tech.ydb.query.tools.SessionRetryContext;
68

79
import java.time.Duration;
810

9-
/*
11+
/**
1012
* @author Kirill Kurdyukov
1113
*/
1214
public class Application {
13-
15+
private static final Logger LOGGER = LoggerFactory.getLogger(Application.class);
1416
private static final String CONNECTION_STRING = "grpc://localhost:2136/local";
1517

1618
public static void main(String[] args) {
1719
try (GrpcTransport grpcTransport = GrpcTransport
1820
.forConnectionString(CONNECTION_STRING)
19-
.withConnectTimeout(Duration.ofSeconds(10)
20-
).build()) {
21+
.withConnectTimeout(Duration.ofSeconds(10))
22+
.build()
23+
) {
2124
try (QueryClient queryClient = QueryClient.newClient(grpcTransport).build()) {
2225
var retryCtx = SessionRetryContext.create(queryClient).build();
2326

@@ -31,8 +34,8 @@ public static void main(String[] args) {
3134
issueYdbRepository.addIssue("Ticket 2");
3235
issueYdbRepository.addIssue("Ticket 3");
3336

34-
for (var ticket : issueYdbRepository.findAll()) {
35-
System.out.println("Ticket: {id: " + ticket.id() + ", title: " + ticket.title() + ", timestamp: " + ticket.now() + "}");
37+
for (var issue : issueYdbRepository.findAll()) {
38+
LOGGER.info("Issue: {}", issue);
3639
}
3740
}
3841
}
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
package tech.ydb.app;
22

33
import java.time.Instant;
4-
import java.util.UUID;
54

6-
/*
5+
/**
76
* Модель данных для представления тикета в примере
7+
*
88
* @author Kirill Kurdyukov
99
*/
1010
public record Issue(
11-
long id, // Уникальный идентификатор тикета
12-
String title, // Название тикета
13-
Instant now // Время создания тикета
11+
long id, // Уникальный идентификатор тикета
12+
String title, // Название тикета
13+
Instant now // Время создания тикета
1414
) {
1515
}

dev-1/lesson-3.1/java/src/main/java/tech/ydb/app/IssueYdbRepository.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import java.time.Instant;
44
import java.util.ArrayList;
55
import java.util.List;
6-
import java.util.UUID;
76
import java.util.concurrent.ThreadLocalRandom;
87

98
import tech.ydb.common.transaction.TxMode;
@@ -12,12 +11,14 @@
1211
import tech.ydb.table.query.Params;
1312
import tech.ydb.table.values.PrimitiveValue;
1413

15-
/*
14+
/**
1615
* Репозиторий для работы с тикетами в базе данных YDB
1716
* Реализует операции добавления и чтения тикетов
17+
*
1818
* @author Kirill Kurdyukov
1919
*/
2020
public class IssueYdbRepository {
21+
2122
// Контекст для автоматических повторных попыток выполнения запросов
2223
// Принимается извне через конструктор для:
2324
// 1. Следования принципу Dependency Injection - зависимости класса передаются ему извне
@@ -30,10 +31,11 @@ public IssueYdbRepository(SessionRetryContext retryCtx) {
3031
this.retryCtx = retryCtx;
3132
}
3233

33-
/*
34+
/**
3435
* Добавляет новый тикет в базу данных
36+
*
3537
* @param title название тикета
36-
* @return созданный тикет с сгенерированным ID и временем создания
38+
* @return созданный тикет со сгенерированным ID и временем создания
3739
*/
3840
public Issue addIssue(String title) {
3941
// Генерируем случайный ID для тикета
@@ -63,8 +65,9 @@ UPSERT INTO issues (id, title, created_at)
6365
return new Issue(id, title, now);
6466
}
6567

66-
/*
68+
/**
6769
* Получает все тикеты из базы данных
70+
*
6871
* @return список всех тикетов
6972
*/
7073
public List<Issue> findAll() {

dev-1/lesson-3.1/java/src/main/java/tech/ydb/app/SchemaYdbRepository.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
import tech.ydb.common.transaction.TxMode;
44
import tech.ydb.query.tools.SessionRetryContext;
55

6-
/*
6+
/**
77
* Репозиторий для управления схемой базы данных YDB
88
* Отвечает за создание и удаление таблиц
9+
*
910
* @author Kirill Kurdyukov
1011
*/
1112
public class SchemaYdbRepository {
@@ -17,20 +18,20 @@ public SchemaYdbRepository(SessionRetryContext retryCtx) {
1718
this.retryCtx = retryCtx;
1819
}
1920

20-
/*
21+
/**
2122
* Создает таблицу issues в базе данных
2223
* Таблица содержит поля:
2324
* - id: уникальный идентификатор тикета
2425
* - title: название тикета
2526
* - created_at: время создания тикета
26-
*
27+
* <p>
2728
* Все поля являются обязательными.
2829
*/
2930
public void createSchema() {
3031
retryCtx.supplyResult(
3132
session -> session.createQuery(
3233
"""
33-
CREATE TABLE issues (
34+
CREATE TABLE IF NOT EXISTS issues (
3435
id Int64 NOT NULL,
3536
title Text NOT NULL,
3637
created_at Timestamp NOT NULL,
@@ -41,15 +42,13 @@ PRIMARY KEY (id)
4142
).join().getStatus().expectSuccess("Can't create table issues");
4243
}
4344

44-
/*
45+
/**
4546
* Удаляет таблицу issues из базы данных
4647
* Используется для очистки схемы перед созданием новой
4748
*/
4849
public void dropSchema() {
4950
retryCtx.supplyResult(
50-
session -> session.createQuery(
51-
"DROP TABLE issues;", TxMode.NONE
52-
).execute()
51+
session -> session.createQuery("DROP TABLE IF EXISTS issues;", TxMode.NONE).execute()
5352
).join().getStatus().expectSuccess("Can't drop table issues");
5453
}
5554
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<Configuration status="WARN">
2+
<Appenders>
3+
<Console name="Console" target="SYSTEM_OUT">
4+
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
5+
</Console>
6+
</Appenders>
7+
8+
<Loggers>
9+
<Logger name="io.netty" level="warn" additivity="false">
10+
<AppenderRef ref="Console"/>
11+
</Logger>
12+
<Logger name="io.grpc.netty" level="warn" additivity="false">
13+
<AppenderRef ref="Console"/>
14+
</Logger>
15+
<Logger name="tech.ydb.core.grpc" level="info" additivity="false">
16+
<AppenderRef ref="Console"/>
17+
</Logger>
18+
19+
<Root level="info">
20+
<AppenderRef ref="Console"/>
21+
</Root>
22+
</Loggers>
23+
</Configuration>

dev-1/lesson-4.1/java/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@
2929
<groupId>tech.ydb</groupId>
3030
<artifactId>ydb-sdk-query</artifactId>
3131
</dependency>
32+
<dependency>
33+
<groupId>org.apache.logging.log4j</groupId>
34+
<artifactId>log4j-slf4j-impl</artifactId>
35+
<version>2.24.1</version>
36+
</dependency>
3237
</dependencies>
3338

3439
<build>

0 commit comments

Comments
 (0)