# Логирование

Руководство по настройке и анализу логов OneAPA.

## Источники логов

| Компонент | Логи                         |
| --------- | ---------------------------- |
| 1С        | Регистр APA\_ЛогИнструментов |
| Proxy     | Консоль/файлы                |
| Docker    | docker logs                  |

## Регистр APA\_ЛогИнструментов

### Структура

| Измерение  | Тип          | Описание         |
| ---------- | ------------ | ---------------- |
| Инструмент | Справочник   | Какой инструмент |
| Дата       | ДатаВремя    | Когда вызван     |
| Состояние  | Перечисление | Успешно/Ошибка   |
| Результат  | Строка       | Результат/ошибка |

### Просмотр

```bsl
Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
|    Лог.Дата,
|    Лог.Инструмент.Наименование,
|    Лог.Состояние,
|    Лог.Результат
|ИЗ
|    РегистрСведений.APA_ЛогИнструментов КАК Лог
|ГДЕ
|    Лог.Дата >= &Дата
|УПОРЯДОЧИТЬ ПО
|    Лог.Дата УБЫВ";
Запрос.УстановитьПараметр("Дата", НачалоДня(ТекущаяДата()));
```

## Логи Proxy

### Уровни логирования

| Уровень | Описание          |
| ------- | ----------------- |
| DEBUG   | Детальная отладка |
| INFO    | Основные события  |
| WARNING | Предупреждения    |
| ERROR   | Ошибки            |

### Настройка

```python
# logging_config.py
import logging

logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
```

### Просмотр

```bash
# Docker
docker logs oneapa-proxy

# Следить в реальном времени
docker logs -f oneapa-proxy

# Последние 100 строк
docker logs --tail 100 oneapa-proxy
```

## Анализ логов

### Поиск ошибок

```bash
# Поиск ошибок
docker logs oneapa-proxy 2>&1 | grep -i error

# Ошибки за период
docker logs --since 1h oneapa-proxy 2>&1 | grep -i error
```

### Анализ производительности

```bash
# Медленные запросы (если логируется время)
docker logs oneapa-proxy | grep "duration" | awk '$NF > 30'
```

## Централизованное логирование

### ELK Stack

```yaml
# docker-compose.yml
services:
  proxy:
    logging:
      driver: "fluentd"
      options:
        fluentd-address: "fluentd:24224"
```

## Рекомендации

| Среда        | Уровень | Хранение |
| ------------ | ------- | -------- |
| Разработка   | DEBUG   | 1 день   |
| Тестирование | INFO    | 7 дней   |
| Production   | WARNING | 30 дней  |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.onerpa.ru/ai-platforma-oneapa/administrirovanie/logirovanie.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
