Skip to content

Commit cc10414

Browse files
committed
Add structured logging
1 parent 0863aa8 commit cc10414

2 files changed

Lines changed: 54 additions & 0 deletions

File tree

docs/en/development.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,33 @@ make generate
115115

116116
Generates `DeepCopy` methods for all types in `api/v1/`.
117117

118+
## Logging
119+
120+
### Structured fields
121+
122+
Operator and processor logs use consistent fields for correlation:
123+
124+
| Field | Where | Purpose |
125+
|-------|-------|---------|
126+
| `dataflow_name` | Operator, processor, connectors | DataFlow resource name |
127+
| `dataflow_namespace` | Operator, processor, connectors | DataFlow namespace |
128+
| `reconcile_id` | Operator | Short id for one reconcile cycle (8 hex chars) |
129+
| `connector_type` | Processor, connectors | Connector type (e.g. `kafka-source`, `trino-sink`) |
130+
| `message_id` | Processor, connectors | Message id from metadata (if present) or Kafka partition/offset |
131+
132+
Use these fields to filter logs (e.g. by `dataflow_name` and `reconcile_id`) and correlate errors with a specific DataFlow and message.
133+
134+
### Log level (LOG_LEVEL)
135+
136+
Operator and processor read the **LOG_LEVEL** environment variable. Allowed values (case-insensitive): `debug`, `info`, `warn`, `error`.
137+
138+
- **Production**: set `LOG_LEVEL=info` (or leave default; Helm uses `info`) to reduce log volume.
139+
- **Debugging**: set `LOG_LEVEL=debug` for more verbose output.
140+
141+
In Helm, the operator level is set via the **logLevel** value (default `"info"`), which is passed as env `LOG_LEVEL` in the operator pod.
142+
143+
Processor pod log level is controlled by the operator env **PROCESSOR_LOG_LEVEL** (processor pods default to `LOG_LEVEL=info`). To enable verbose processor logs when debugging, set env `PROCESSOR_LOG_LEVEL=debug` in the operator Deployment.
144+
118145
## Testing
119146

120147
### Unit Tests

docs/ru/development.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,33 @@ make generate
162162
make manifests
163163
```
164164

165+
## Логирование
166+
167+
### Структурированные поля
168+
169+
В логах оператора и процессора используются единые поля для корреляции:
170+
171+
| Поле | Где | Назначение |
172+
|------|-----|------------|
173+
| `dataflow_name` | Оператор, процессор, коннекторы | Имя ресурса DataFlow |
174+
| `dataflow_namespace` | Оператор, процессор, коннекторы | Namespace DataFlow |
175+
| `reconcile_id` | Оператор | Короткий идентификатор одного цикла реконсиляции (8 hex-символов) |
176+
| `connector_type` | Процессор, коннекторы | Тип коннектора (например `kafka-source`, `trino-sink`) |
177+
| `message_id` | Процессор, коннекторы | Идентификатор сообщения из метаданных (если есть) или partition/offset для Kafka |
178+
179+
По этим полям можно фильтровать логи в агрегаторе (например по `dataflow_name` и `reconcile_id`) и связывать ошибки с конкретным DataFlow и сообщением.
180+
181+
### Уровень лога (LOG_LEVEL)
182+
183+
Оператор и процессор читают переменную окружения **LOG_LEVEL**. Допустимые значения (без учёта регистра): `debug`, `info`, `warn`, `error`.
184+
185+
- **В проде**: задайте `LOG_LEVEL=info` (или не задавайте — по умолчанию в Helm используется `info`), чтобы уменьшить объём логов.
186+
- **При отладке**: задайте `LOG_LEVEL=debug` для более детального вывода.
187+
188+
В Helm для оператора уровень задаётся через value **logLevel** (по умолчанию `"info"`); он подставляется в env `LOG_LEVEL` в поде оператора.
189+
190+
Уровень лога подов процессора задаётся переменной окружения оператора **PROCESSOR_LOG_LEVEL** (по умолчанию поды процессора получают `LOG_LEVEL=info`). Чтобы включить детальные логи процессора при отладке, задайте в Deployment оператора env `PROCESSOR_LOG_LEVEL=debug`.
191+
165192
## Тестирование
166193

167194
### Unit тесты

0 commit comments

Comments
 (0)