# Работа с логами

Бэкенд-сервисы платформы Navixy всегда собирают логи во время работы. Эти логи содержат записи обо всех действиях, выполняемых Java-сервисами, а также об ошибках, возникающих в процессе работы платформы. Анализ логов является неотъемлемой частью процесса устранения неполадок.

## Расположение логов

У всех трёх бэкенд Java-сервисов имеются собственные логи. Каталоги по умолчанию следующие:

| **Сервис**     | **Linux**                 | **Windows**            |
| -------------- | ------------------------- | ---------------------- |
| **API-server** | /home/java/api-server/log | C:\java\api-server\log |
| **SMS-server** | /home/java/sms-server/log | C:\java\sms-server\log |
| **TCP-server** | /home/java/tcp-server/log | C:\java\tcp-server\log |

{% hint style="info" %}
Указанные каталоги являются значениями по умолчанию, но на некоторых серверах логи могут храниться в пользовательском каталоге по запросу владельца инстанса. Для получения дополнительной информации проверьте [Настройки хранения логов сервисов](https://www.navixy.com/docs/on-premise/ru/on-premise/how-to-guide/troubleshooting/working-with-logs/service-logs-storage-settings) страницу.
{% endhint %}

## Содержимое логов

**Логи API-server** являются первыми, которые следует анализировать при возникновении любых проблем, связанных с работой платформы в целом или отдельных функций. Если вы видите, что какой-либо API-запрос не выполняется (при интеграциях через API или в инструментах разработчика браузера), ищите в логе по заголовку или содержимому этого запроса. Если проблемы затрагивают конкретное устройство или группу устройств, выполняйте поиск по IMEI или ID этого устройства.

**Логи SMS-server** необходимо проверять при возникновении любых проблем с отправкой сообщений. Это относится как к SMS, так и к электронной почте (независимо от названия сервиса). Ищите проблемы по номеру телефона или адресу электронной почты.

**Логи TCP-server** содержат всю информацию, связанную с работой устройств, сетевыми подключениями и проверками лицензий. Здесь можно выполнять поиск по IMEI устройства, сетевому адресу или любым другим параметрам, связанным с проблемой.

{% hint style="info" %}
Если вам известны обстоятельства, при которых происходит проблема, хорошая тактика — воспроизвести её и посмотреть, какие записи появятся в логах. Таким образом вы «поймаете» ошибку в момент её возникновения.
{% endhint %}

## Полезные инструменты

#### Linux

Вы можете искать конкретные значения в логах с помощью команды **grep** . Таким образом вы увидите(те) запись(и) лога, содержащую(ие) искомое значение. Пример:

```
grep "12345678910" log.txt
```

Чтобы просматривать новые записи лога в реальном времени, используйте команду **tail** . Это особенно полезно, когда у вас есть возможность воспроизвести проблему.

```
tail -f log.txt
```

Чтобы просмотреть весь лог, используйте любой предпочитаемый текстовый редактор, например **nano** или **vim**.

#### Windows

Стандартный Блокнот в Windows не способен корректно обрабатывать большие текстовые файлы, поэтому не пытайтесь использовать его для просмотра логов — он просто зависнет. Вместо этого используйте любой сторонний продвинутый текстовый редактор.

Самые популярные редакторы для Windows:

* [**Notepad++**](https://notepad-plus-plus.org/)
* [**Sublime Text**](https://www.sublimetext.com/)

Эти редакторы обладают расширенными возможностями поиска и могут обрабатывать большие размеры файлов, что делает их очень полезными при работе с логами на крупных инстансах.
