29 lines
1.7 KiB
Markdown
29 lines
1.7 KiB
Markdown
# `tools` — вспомогательные крейты
|
|
|
|
Утилиты, общие для проекта.
|
|
|
|
## `log` — `netrunner-logger`
|
|
|
|
Единый логгер и реестр ошибок для всех крейтов. Обёртка над
|
|
`tracing`/`tracing-subscriber`.
|
|
|
|
| Файл | Что внутри |
|
|
|------------------|-----------------------------------------------------------------|
|
|
| `src/lib.rs` | Глобальный `Logger` (один на процесс), два режима, PII-слой. |
|
|
| `src/error.rs` | `AppError` + реестр кодов `ERR_*` (стабильные идентификаторы). |
|
|
|
|
- **Режимы:** production (JSON в файл с суточной ротацией + перехват паник) и
|
|
debug (цветная консоль; на Android — `tracing_android`).
|
|
- **Уровень** меняется на лету (`Logger::set_level`).
|
|
- Макросы `info!`/`error!`/… ре-экспортируются, чтобы во всех крейтах писать
|
|
`netrunner_logger::info!` без прямой зависимости на `tracing`.
|
|
|
|
## `bindgen` — генератор FFI-биндингов
|
|
|
|
Однострочная обёртка вокруг `uniffi_bindgen`: по `.udl`-описанию клиента
|
|
(`client/src/netrunner_client.udl`) генерирует Kotlin/Swift-обёртки для вызова
|
|
нативных функций из мобильного приложения. Запускается из `Makefile`
|
|
(цель `build-android`).
|
|
|
|
> Детали — в rustdoc соответствующих крейтов.
|