Перейти к содержимому

Логи приложения где найти на телефоне андроид

  • автор:

Логи приложения где найти на телефоне андроид

Для всех приложений

Общие вопросы

Как получить лог-файл Android-смартфона

Статья обновлена: 24 апреля 2019 ID: 13048

При обращении в техническую поддержку по продуктам для Android специалисты «Лаборатории Касперского» могут попросить вас создать лог-файл Android-смартфона. По умолчанию доступ к лог-файлам отключен. Для того чтобы получить доступ, включите режим отладки.

Как включить режим отладки

Для сбора технической информации на смартфоне разрешите режим отладки из инструментария для разработчиков. По умолчанию доступ к нему отключен. Чтобы получить доступ:

  1. В меню настроек нажмите пункт Об устройстве (О телефоне и т.п.).

Об устройстве

  1. Найдите пункт меню Номер сборки (он может находиться, например, в разделе Версия ПО).

Номер сборки

  1. Несколько раз подряд нажмите на Номер сборки, пока не появится сообщение «Вы разработчик».

Включение режима разработки

  1. Проверьте в настройках наличие нового пункта Для разработчиков.

Для разработчиков

  1. Войдите в раздел Для разработчиков и поставьте галочку в пункте Отладка через USB, затем подтвердите включение режима отладки.

Как снять логи для iOS и Android приложений

Оксана Куценко

Как снять логи для iOS и Android приложений

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

Загружаются из магазина приложений (Google Play или App Store) на мобильном устройстве.

Виды мобильных приложений:

  • Нативные
  • Веб-приложения
  • Гибридные

Распространенные причины возникновения багов в мобильных приложениях:

  • Проблемы при установке/удалении мобильных приложений
  • Проблемы с поддержкой различных версий ОС и устройств
  • Проблемы с соблюдением принципов безопасности
  • Проблемы с большим потреблением ресурсов девайса
  • Проблемы со скоростью запуска и работы приложения
  • Проблемы локализации
  • Проблемы при вращении экрана
  • Проблемы с непонятными пользователям сообщениями об ошибке
  • Проблемы при подключении к интернету
  • Проблемы, связанные с условиями работы офлайн
  • Проблемы, связанные с низким уровнем заряда батареи
  • Проблемы после перезагрузки телефона
  • Проблемы после входящих звонков и SMS

Важную роль при диагностировании ошибок в мобильных приложениях играют логи.

Логи и их виды

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

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

Виды логов

Логи мобильных приложений делятся на два основных вида: консольные (обычные) логи и креш-логи.

Консольные логи — это лог-файлы, являющиеся журналом событий и содержащие все записи о системных событиях, ответы устройства на действия пользователя, которые обновляются в режиме реального времени.

Креш-логи — это лог-файлы, которые создаются после экстренного завершения работы программы (креша). Файлы креш-логов имеют расширение .crash или .ips. Креш-логи содержат информацию с момента запуска программы и до экстренного завершения программы.

Как снять логи мобильных приложений

Существуют разные варианты снятия логов для мобильных приложений в зависимости от операционной системы телефона (Android, iOS).

Как снять логи с iOS

Одним из самых распространенных способов для получения логов для приложений iOS является получение с помощью XCode.

XCode — это среда разработки программного обеспечения для платформ macOS и iOS.

Для снятия логов через XCode необходимо:

  • Установить XCode
  • Подключите устройство к Mac
  • Запустить XCode
  • Открыть вкладку «Window» — «Devices and Simulators»
  • Нажать кнопку «View Device Logs»
  • Найти нужный лог-файл и скопировать его в текстовый файл

Также получить логи можно с помощью iMazing (доступно как для Windows, так и для MacOS).

Как снять логи с Андроид

Для того, чтобы снять с Android логи приложения, понадобится Android Studio.

Android Studio — интегрированная среда разработки (IDE) для платформы Android.

Для снятия логов с помощью Android Studio нужно:

  • Установить Android Studio
  • Создать новый проект в «Android Studio» (при создании нового проекта нужно правильно указать версию Android девайса, с которого необходимо снять логи)
  • Включить режим разработчика на Android девайсе
  • Подключить устройство через USB к компьютеру
  • Выбрать девайс в Android Studio
  • Выберите вкладку LogCat
  • Воспроизвести ошибку на девайсе или найти по дате воспроизведения логи (если мы знаем время, когда воспроизводилась проблема)
  • Выделить нужные логи и скопировать их (правой клавишей мыши → Copy или Ctrl+C)
  • Создать файл .txt, добавить в него логи и сохранить их

Также для снятия логов с Android девайсов можно использовать Minimal ADB приложение.

  1. XCode — https://developer.apple.com/xc.
  2. Android Studio — https://developer.android.com/.
  3. iMazing — https://imazing.com/download

Гайд по отладке Android-приложения: ищем баги и читаем логи

Иногда в приложении встречаются ошибки, которые нельзя увидеть даже после запуска. Например, код компилируется, проект запускается, но результат далёк от желаемого: приложение падает или вдруг появляется какая-то ошибка (баг). В таких случаях приходится «запасаться логами», «брать в руки отладчик» и искать ошибки.

Часто процесс поиска и исправления бага состоит из трёх шагов:

  1. Воспроизведение ошибки — вы понимаете, какие действия нужно сделать в приложении, чтобы повторить ошибку.
  2. Поиск места ошибки — определяете класс и метод, в котором ошибка происходит.
  3. Исправление ошибки.

Если приложение не падает и чтение логов ничего не даёт, то найти точное место ошибки в коде помогает дебаггер (отладчик) — инструмент среды разработки.

Чтобы посмотреть на логи и воспользоваться дебаггером, давайте напишем простое тестовое (и заведомо неправильное) приложение, которое даст нам все возможности для поиска ошибок.

Это будет приложение, которое сравнивает два числа. Если числа равны, то будет выводиться результат «Равно», и наоборот. Начнём с простых шагов:

  1. Открываем Android Studio.
  2. Создаём проект с шаблоном Empty Activity.
  3. Выбираем язык Java, так как его, как правило, знают больше людей, чем Kotlin.

Узнай, какие ИТ — профессии
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Павел Симонов
Исполнительный директор Geekbrains

Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.

Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Павел Симонов - исполнительный директор Geekbrains

Павел Симонов
Исполнительный директор Geekbrains

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка

Только проверенные нейросети с доступом из России и свободным использованием

ТОП-100 площадок для поиска работы от GeekBrains

Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽

Получить подборку бесплатно
Уже скачали 25510

Нам автоматически откроются две вкладки: activity_main.xml и MainActivity.java. Сначала нарисуем макет: просто замените всё, что есть в activity_main.xml, на код ниже:

Можете запустить проект и посмотреть, что получилось:

Теперь оживим наше приложение. Скопируйте в MainActivity этот код:

public class MainActivity extends AppCompatActivity < @Override protected void onCreate(Bundle savedInstanceState) < super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Button button = (Button) findViewById(R.id.button); final EditText first = (EditText) findViewById(R.id.first_number_et); final EditText second = (EditText) findViewById(R.id.second_number_et); final TextView answer = (TextView) findViewById(R.id.answer_tv); button.setOnClickListener(new View.OnClickListener() < @Override public void onClick(View v) < Integer firstInt = Integer.parseInt(first.getText().toString()); Integer secondInt = Integer.parseInt(second.getText().toString()); if (firstInt == secondInt) < answer.setText("Равно"); >else < answer.setText("Равно"); >> >); > >

В этом коде всё просто:

  1. Находим поля ввода, поле с текстом и кнопку.
  2. Вешаем на кнопку слушатель нажатий.
  3. По нажатию на кнопку получаем числа из полей ввода и сравниваем их.
  4. В зависимости от результата выводим «Равно» или «Не равно».

Для вас подарок! В свободном доступе до 14.01 —>
Скачайте ТОП-10
бесплатных нейросетей
для программирования
Помогут писать код быстрее на 25%
Чтобы получить подарок, заполните информацию в открывшемся окне

Запустим приложение и введём буквы вместо чисел:

Нажмём на кнопку, и приложение упадёт! Время читать логи. Открываем внизу слева вкладку «6: Logcat» и видим:

Читать логи просто: нужно найти красный текст и прочитать сообщение системы. В нашем случае это java.lang.NumberFormatException: For input string: «f». Указан тип ошибки NumberFormatException, который говорит, что возникла какая-то проблема с форматированием числа. И дополнение: For input string: «f». Введено “f”.

Уже можно догадаться, что программа ждёт число, а мы передаём ей символ. Далее в красном тексте видно и ссылку на проблемную строку: at com.example.appdebugging.MainActivity$1.onClick(MainActivity.java:26). Проблема в методе onClick класса MainActivity, строка 24. Можно просто кликнуть по ссылке и перейти на указанную строку:

int firstInt = Integer.parseInt(first.getText().toString());

Конечно, метод parseInt может принимать только числовые значения, но никак не буквенные! Даже в его описании это сказано — и мы можем увидеть, какой тип ошибки этот метод выбрасывает (NumberFormatException).

Здесь мы привели один из примеров. Типов ошибок может быть огромное количество, все мы рассматривать не будем. Но все ошибки в Logcat’е указываются по похожему принципу:

  • красный текст;
  • тип ошибки — в нашем случае это NumberFormatException;
  • пояснение — у нас это For input string: «f»;
  • ссылка на строку, на которой произошла ошибка — здесь видим MainActivity.java:26.

Исправим эту ошибку и обезопасим себя от некорректного ввода. Добавим в наши поля ввода android:inputType=»number», а остальной код оставим без изменений:

Теперь можем вводить только числа. Проверим, как работает равенство: введём одинаковые числа в оба поля. Всё в порядке:

На равенство проверили. Введём разные числа:

Тоже равно. То есть приложение работает, ничего не падает, но результат не совсем тот, который требуется. Наверняка вы и без дебаггинга догадались, в чём ошибка, потому что приложение очень простое, всего несколько строк кода. Но такие же проблемы возникают в приложениях и на миллион строк. Поэтому пройдём по уже известным нам этапам дебаггинга:

  1. Воспроизведём ошибку: да, ошибка воспроизводится стабильно с любыми двумя разными числами.
  2. Подумаем, где может быть ошибка: наверняка там, где сравниваются числа. Туда и будем смотреть.
  3. Исправим ошибку: сначала найдём её с помощью дебаггера, а когда поймём, в чём проблема, — будем исправлять.

Дарим скидку от 60%
на обучение «Android-разработчик» до 14 января
Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей

И здесь на помощь приходит отладчик. Для начала поставим точки останова сразу в трёх местах:

Чтобы поставить или снять точку останова, достаточно кликнуть левой кнопкой мыши справа от номера строки или поставить курсор на нужную строку, а затем нажать CTRL+F8. Почему мы хотим остановить программу именно там? Чтобы посмотреть, правильные ли числа сравниваются, а затем определить, в какую ветку в нашем ветвлении заходит программа дальше.

Запускаем программу с помощью сочетания клавиш SHIFT+F9 или нажимаем на кнопку с жучком:

Появится дополнительное окно, в котором нужно выбрать ваш девайс и приложение:

Вы в режиме дебага. Обратите внимание на две вещи:

  1. Точки останова теперь помечены галочками. Это значит, что вы находитесь на экране, где стоят эти точки, и что дебаггер готов к работе.
  2. Открылось окно дебага внизу: вкладка «5: Debug». В нём будет отображаться необходимая вам информация.

Введём неравные числа и нажмём кнопку «РАВНО?». Программа остановилась на первой точке:

  1. Сразу подсвечивается синим строка, где программа остановлена: в окне кода на 28-й строке и в левом окне отладчика (там даже можно увидеть, какой метод вызван, — onClick).
  2. В правом, основном окне отладчика, всё гораздо интереснее. Здесь можно увидеть инстансы наших вью (answer, first, second), в конце которых серым текстом даже отображаются их id. Но интереснее всего посмотреть на firstInt и secondInt. Там записаны значения, которые мы сейчас будем сравнивать.

Только до 11.01
Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней
Список документов:

ТОП-100 площадок для поиска работы от GeekBrains

20 профессий 2023 года, с доходом от 150 000 рублей

Чек-лист «Как успешно пройти собеседование»

Чтобы зарегистрироваться на бесплатный интенсив и получить в подарок подборку файлов от GeekBrains, заполните информацию в открывшемся окне

Как видим, значения именно такие, какие мы и ввели. Значит, проблема не в получении чисел из полей. Давайте двигаться дальше — нам нужно посмотреть, в правильную ли ветку мы заходим. Для этого можно нажать F8 (перейти на следующую строку выполнения кода). А если следующая точка останова далеко или в другом классе, можно нажать F9 — программа просто возобновит работу и остановится на следующей точке. В интерфейсе эти кнопки находятся здесь:

Остановить дебаггер, если он больше не нужен, можно через CTRL+F2 или кнопку «Стоп»:

В нашем случае неважно, какую кнопку нажимать (F9 или F8). Мы сразу переходим к следующей точке останова программы:

Ветка правильная, то есть логика программы верна, числа firstInt и secondInt не изменились. Зато мы сразу видим, что подпись некорректная! Вот в чём была ошибка. Исправим подпись и проверим программу ещё раз.

Мы уже починили два бага: падение приложения с помощью логов и некорректную логику (с помощью отладчика). Хеппи пас (happy path) пройден. То есть основная функциональность при корректных данных работает. Но нам надо проверить не только хеппи пас — пользователь может ввести что угодно. И программа может нормально работать в большинстве случаев, но вести себя странно в специфических состояниях. Давайте введём числа побольше и посмотрим, что будет:

Не сработало — программа хочет сказать, что 1000 не равна 1000, но это абсурд. Запускаем приложение в режиме отладки. Точка останова уже есть. Смотрим в отладчик:

Числа одинаковые, что могло пойти не так? Обращаем внимание на тип переменной — Integer. Так вот в чём проблема! Это не примитивный тип данных, а ссылочный. Ссылочные типы нельзя сравнивать через ==, потому что будут сравниваться ссылки объектов, а не они сами. Но для Integer в Java есть нюанс: Integer может кешироваться до 127, и если мы вводим по единице в оба поля числа до 127, то фактически сравниваем просто int. А если вводим больше, то получаем два разных объекта. Адреса у объектов не совпадают, а именно так Java сравнивает их.

Есть два решения проблемы:

  1. Изменить тип Integer на примитив int.
  2. Сравнивать как объекты.

Не рекомендуется менять тип этих полей в реальном приложении: числа могут приходить извне, и тип лучше оставлять прежним. Изменим то, как мы сравниваем числа:

if (firstInt.equals(secondInt)) < answer.setText("Равно"); >else

Всё работает. Наконец-то! Хотя… Давайте посмотрим, что будет, если пользователь ничего не введёт, но нажмёт на кнопку? Приложение опять упало… Смотрим в логи:

Опять NumberFormatException, при этом строка пустая. Давайте поставим точку останова на 26-й строке и заглянем с помощью отладчика глубже.

Нажмём F8 — и перейдём в глубины операционной системы:

Интересно! Давайте обернём код в try/catch и посмотрим ошибке в лицо. Если что, поправим приложение. Выделяем код внутри метода onClick() и нажимаем Ctrl+Alt+T:

Выбираем try / catch, среда разработки сама допишет код. Поставим точку останова. Получим:

Запускаем приложение и ловим ошибку:

Действительно, как и в логах, — NumberFormatException. Метод parseInt выбрасывает исключение, если в него передать пустую строку. Как обрабатывать такую проблему — решать исключительно вам. Два самых простых способа:

  1. Проверять получаемые строки first.getText().toString() и second.getText().toString() на пустые значения. И если хоть одно значение пустое — говорить об этом пользователю и не вызывать метод parseInt.
  2. Или использовать уже готовую конструкцию try / catch:

Теперь-то точно всё в порядке! Хотя профессиональным тестировщикам это приложение никто не отдавал: поищете ещё ошибки? ��

Help Center

We have collected answers to all the most popular questions to make it easy and convenient for you to use eXpress. If you do not find the answer to your question, please contact our support team.

Инженерное меню и логи

  • Справочный центр
  • Что такое eXpress и список терминов
  • Требования, установка и удаление
  • Регистрация и авторизация
  • Аккаунт и учётная запись
  • Чаты, каналы и обсуждения
  • Контакты
  • Tags and tabs
  • Файлы
  • Звонки и конференции
  • Уведомления приложения
  • Восстановление фоновой работы приложения на Android
  • Чат-боты и Smart Apps
  • Инженерное меню и логи
  • Очистка кэша приложения
  • Администратору системы
  • Документация
  • Privacy policy
  • Licensing conditions

Инженерное меню и логи

  • Инженерное меню eXpress
  • Логи eXpress для Android
  • Логи eXpress для iOS / iPadOS
  • Логи веб-приложения eXpress
  • Логи десктоп-приложения eXpress
  • Логи регистрации или авторизации
  • Логи корпоративного сервера
  • Логи Smart Apps и ботов

Инженерное меню eXpress

Во всех клиентских версиях приложения для всех платформ есть инженерное меню, в котором находится дополнительная информация о приложении, пользователе, текущей сессии и логи. Через это меню можно собрать дополнительные логи с технической информацией и внутренними событиями приложения, его функций (Smart App) и сервера, которые помогут выявить причину возникшей проблемы.

Как открыть инженерное меню?

Чтобы открыть инженерное меню, в любой версии eXpress нажмите (Чаты >) Настройки (кнопка с шестерёнкой), выберите пункт О программе. Далее много раз нажмите на логотип приложения, пока не откроется страница инженерного меню. Далее приведено описание наиболее важных параметров его вкладок, которые могут пригодиться при обращении в поддержку.

Инженерное меню в eXpress для Android

  • USER. Здесь находятся следующие сведения: об авторизованном пользователе (Main User info), о текущей сессии (Session info), о получаемых с сервера настройках (Sync info), сведения о приложении (App info).
  • DATA. На этой вкладке есть: кнопка для очистки базы данных (CLEAR DATABASE) — очищает весь кэш без выхода из сессии, кнопка очистки файлов, загруженных в кэш (CLEAR FILES), ниже можно узнать размер базы данных и кэша файлов (Cache size).
  • LOG. На этой вкладке можно собрать логи приложения. В подразделе общих логов (Main log) есть: тумблер для включения записи общих логов (Write main log to file), кнопка для отправки файла общих логов (SHARE MAIN LOG FILE) и кнопка для очистки файла общих логов (CLEAR MAIN LOG FILE). Подраздел логов звонков и конференций (Call log) содержит кнопку для отправки файла лога (SHARE CALL LOG FILE) и кнопку для очистки файла лога (CLEAR CALL LOG FILE). Ниже в подразделе Smart Apps log можно включить запись логов Smart App в файл общих логов (Enable Smart Apps log).
  • FEATURES. На этой вкладке переключаются дополнительные и экспериментальные функции eXpress: приложения Smart App (Smart Apps), интеграция с Vinteo и т.д.
  • PUSH. В подразделе Push Services находятся сведения о службах push-уведомлений.

Инженерное меню в eXpress для iOS (iPadOS)

  • Инфо на экране звонка. Дополнительная техническая информация на экране идущего звонка.
  • Логи уведомлений. Дополнительная информация в логах push-уведомлений.
  • Smart Apps. Включение функции Smart Apps в приложении.
  • Собирать логи Smart App. Запись логов Smart App в файл общих логов.
  • Подробные ошибки Share. Дополнительная информация в логах о взаимодействии приложения с системной функцией iOS «поделиться».
  • Current user info. Информация об авторизованном пользователе: HUID, страна, телефон, . сведения о токенах (apnsPushToken и voexPushToken отвечают за уведомления и звонки), ключах (signKeyId — ID открытого ключа) и т.д.
  • Список чатов. Сводная информация о чатах.
  • Логи. Все логи приложения (кроме звонков и конференций). Нажмите кнопку «поделиться» наверху и выберите лог:
    • Main app logs. Общие логи из основного приложения, которые нужны, если проблема возникла с самим приложением.
    • Push extension logs. Логи уведомлений, которые нужны при проблемах с уведомлениями или счётчиками непрочитанных сообщений.
    • Share extension logs. Логи, собираемые при отправке каких-либо данных из/в приложение через функцию iOS «поделиться», которые нужны при проблемах с этой функцией.

    Инженерное меню в eXpress для ПК (веб/десктоп)

    • Общее. Содержит переключатели функций логирования, кнопки диагностических функций, информацию о пользователе, статистику и т.д.
      • Сохранять статистику. Запись дополнительной статистики в лог.
      • Логировать все запросы в сокет. Запись всех сетевых запросов (можно будет из консоли экспортировать их в файл *.har.
      • Собирать логи SmartApp. Возможность сбора логов Smart App.
      • СКАЧАТЬ СТЕЙТ. Скачивание стейта (сводной информации о пользователе и его чатах) в файл.
      • СБРОСИТЬ СТЕЙТ. Эта кнопка удаляет, а затем заново загружает с сервера информацию о пользователе, чаты и контакты без выхода из сессии.
      • СКОПИРОВАТЬ СТЕЙТ В КОНСОЛЬ. Копирование содержимого стейта в браузерную консоль.
      • СБРОСИТЬ СТАТИСТИКУ. Очистка всех диагностических данных.
      • ОТКРЫТЬ КОНСОЛЬ. Открытие полноценной браузерной консоли для детальной диагностики ошибок приложения и получения общих логов.
      • Далее приведена информация о пользователе (HUID, UDID), статистика чатов и т.д.
      • Веб-версия: нажмите клавишу ( Fn +) F12 , на открывшейся сбоку панели выберите вкладку Console; для просмотра сетевых запросов выберите вкладку Network.
      • Десктоп-версия: откройте инженерное меню через Настройки >О программе > много раз нажмите на логотип, пока не откроется меню > нажмите кнопку ОТКРЫТЬ КОНСОЛЬ.

      Логи eXpress для Android

      Упрощённый сбор диагностических данных

    • В eXpress нажмите (Чаты >) Настройки (кнопка с шестерёнкой), выберите пункт О программе. Внизу нажмите кнопку Начать сбор диагностических данных.
    • Воспроизведите проблему, чтобы она попала в логи.
    • Вернитесь в раздел О программе и нажмите внизу Остановить и поделиться.
    • Передайте файл логов в поддержку.
    • Общие логи из инженерного меню (Android)

      Логи в приложении для Android не собираются в фоне постоянно, необходимо заранее включать их запись в инженерном меню.

      1. Откройте инженерное меню: (Чаты >) Настройки >О программе > много раз нажмите на логотип, пока не откроется инженерное меню.
      2. На вкладке LOG включите тумблер Write main log to file. Начнётся запись логов.
      3. Выйдите из инженерного меню и воспроизведите проблему, которую нужно отразить в логах.
      4. Вернитесь в инженерное меню на вкладку LOG и нажмите SHARE MAIN LOG FILE. Получившийся файл лога можно сохранить на устройстве или отправить.

      Логи звонков и конференций из инженерного меню (Android)

      1. Откройте инженерное меню: (Чаты >) Настройки >О программе > много раз нажмите на логотип, пока не откроется инженерное меню.
      2. На вкладке LOG нажмите на кнопку SHARE CALL LOG FILE. Получившийся файл лога можно сохранить на устройстве или отправить.

      Логи eXpress для iOS / iPadOS

      Упрощённый сбор диагностических данных

    • В eXpress нажмите (Чаты >) Настройки (кнопка с шестерёнкой), выберите пункт О программе. Внизу нажмите кнопку Начать сбор диагностических данных.
    • Воспроизведите проблему, чтобы она попала в логи.
    • Вернитесь в раздел О программе и нажмите внизу Остановить и поделиться.
    • Передайте файл логов в поддержку.
    • Общие логи из инженерного меню (iOS/iPadOS)

      1. Откройте инженерное меню: (Чаты >) Настройки >О программе > много раз нажмите на логотип, пока не откроется инженерное меню.
      2. В инженерном меню откройте папку Logs, нажмите кнопку Поделиться справа вверху.
      3. Далее выберите, какие логи нужны:
        • Main app logs. Логи из основного приложения, которые нужны, если проблема возникла с приложением.
        • Push extension logs. Логи уведомлений, которые нужны при проблемах с уведомлениями или счётчиками непрочитанных сообщений.
        • Share extension logs. Логи, собираемые при отправке каких-либо данных из/в приложение через функцию shareTo («Поделиться»), которые нужны при проблемах с этой функцией.
      4. Сохраните выбранные логи в файл или отправьте в поддержку.

      Логи звонков, конференций и сообщений из инженерного меню (iOS/iPadOS)

      1. Откройте инженерное меню: (Чаты >) Настройки >О программе > много раз нажмите на логотип, пока не откроется инженерное меню.
      2. В инженерном меню откройте нужный раздел.
      3. Справа вверху нажмите Поделиться (либо всей папкой сразу, либо предварительно выбрав чат или звонок в списке).

      Логи веб-приложения eXpress

      Упрощённый сбор диагностических данных

    • В eXpress нажмите (Чаты >) Настройки (кнопка с шестерёнкой), выберите пункт О программе. Внизу нажмите кнопку Начать сбор диагностических данных.
    • Воспроизведите проблему, чтобы она попала в логи.
    • Вернитесь в раздел О программе и нажмите внизу Остановить и скачать.
    • Передайте файл логов в поддержку.
    • Общие логи из консоли веб-приложения

      1. Нажмите клавишу ( Fn +) F12 и выберите вкладку Console. Для просмотра сетевых запросов выберите вкладку Network.
      2. В консоли нажмите кнопку-шестерёнку наверху, чтобы открыть настройки, и в подразделе Console включите параметр Show timestamps. Таким образом, в консоли будет фиксироваться время событий.
      3. Можно предварительно очистить консоль, в контекстном меню выбрав команду Clear console. Воспроизведите проблему. В консоли появится ошибка или предупреждение. Сделайте скриншот ошибки или сохраните весь лог консоли командой Save as. в контекстном меню лога консоли.
      4. Чтобы сохранить информацию о сетевых запросах в файл HAR, на вкладке Network в контекстном меню выберите команду Save all as HAR with content. Если нужно, сетевые запросы можно предварительно очистить кнопкой Clear наверху.

      Стейт из инженерного меню веб-приложения

      Стейт — это сводная информация о текущем пользователе, сервере, приложении, ключах и событиях. Так как стейт содержит не все данные, зачастую только его бывает недостаточно для анализа проблемы.

      1. Откройте инженерное меню: (Чаты >) Настройки >О программе > много раз нажмите на логотип, пока не откроется инженерное меню.
      2. В инженерном меню на вкладке Общее нажмите СКАЧАТЬ СТЕЙТ, чтобы скачать стейт в виде файла, или СКОПИРОВАТЬ СТЕЙТ В КОНСОЛЬ, чтобы отобразить стейт в консоли.

      Лог звонка или конференции из инженерного меню (веб)

      Учтите, что логи звонков и конференций хоть и пишутся в фоне постоянно, но полностью стираются после перезапуска приложения. Стейт после перезапуска приложения остаётся, но в сокращённом виде.

      1. Откройте инженерное меню: (Чаты >) Настройки >О программе > много раз нажмите на логотип, пока не откроется инженерное меню.
      2. Найдите нужный лог на вкладке Звонки.

      В названии звонка будет ID звонка/конференции, эта информация может пригодиться для поиска соответствующих логов на сервере.

      Лога звонка или конференции через уведомление «Довольны ли Вы качеством звонка?» (веб)

      Если настроено, по окончании звонка или конференции отображается всплывающее уведомление с просьбой оценить качество звонка. Если в ответ на вопрос «Довольны ли Вы качеством звонка?» выбрать НЕТ, лог звонка/конференции из клиентского приложения выгрузится на сервер, откуда его вместе с серверными логами звонка/конференции может скачать системный администратор. В скачанном архиве клиентские логи находятся в подпапке client logs.

      Логи десктоп-приложения eXpress

      Упрощённый сбор диагностических данных

    • В eXpress нажмите (Чаты >) Настройки (кнопка с шестерёнкой), выберите пункт О программе. Внизу нажмите кнопку Начать сбор диагностических данных.
    • Воспроизведите проблему, чтобы она попала в логи.
    • Вернитесь в раздел О программе и нажмите внизу Остановить и скачать.
    • Передайте файл логов в поддержку.
    • Общие логи из консоли десктоп-приложения

      1. Откройте инженерное меню: (Чаты >) Настройки >О программе > много раз нажмите на логотип, пока не откроется инженерное меню. Нажмите кнопку Открыть консоль. Откроется вкладка Console консоли. Для просмотра сетевых запросов выберите вкладку Network.
      2. В консоли нажмите кнопку-шестерёнку наверху, чтобы открыть настройки, и в подразделе Console включите параметр Show timestamps. Таким образом, в консоли будет фиксироваться время событий.
      3. Можно предварительно очистить консоль, в контекстном меню выбрав команду Clear console. Воспроизведите проблему. В консоли появится ошибка или предупреждение. Сделайте скриншот ошибки или сохраните весь лог консоли командой Save as. в контекстном меню лога консоли.
      4. Чтобы сохранить информацию о сетевых запросах в файл HAR, на вкладке Network в контекстном меню выберите команду Save all as HAR with content. Если нужно, сетевые запросы можно предварительно очистить кнопкой Clear наверху.

      Стейт из инженерного меню десктоп-приложения

      Стейт — это сводная информация о текущем пользователе, сервере, приложении, ключах и событиях. Так как стейт содержит не все данные, зачастую только его бывает недостаточно для анализа проблемы.

      1. Откройте инженерное меню: (Чаты >) Настройки >О программе > много раз нажмите на логотип, пока не откроется инженерное меню.
      2. В инженерном меню на вкладке Общее нажмите СКАЧАТЬ СТЕЙТ, чтобы скачать стейт в виде файла, или СКОПИРОВАТЬ СТЕЙТ В КОНСОЛЬ, чтобы отобразить стейт в консоли.

      Лог звонка или конференции из инженерного меню (десктоп)

      Учтите, что логи звонков и конференций хоть и пишутся в фоне постоянно, но полностью стираются после перезапуска приложения. Стейт после перезапуска приложения остаётся, но в сокращённом виде.

      1. Откройте инженерное меню: (Чаты >) Настройки >О программе > много раз нажмите на логотип, пока не откроется инженерное меню.
      2. Найдите нужный лог на вкладке Звонки.

      В названии звонка будет ID звонка/конференции, эта информация может пригодиться для поиска соответствующих логов на сервере.

      Лога звонка или конференции через уведомление «Довольны ли Вы качеством звонка?» (десктоп)

      Если настроено, по окончании звонка или конференции отображается всплывающее уведомление с просьбой оценить качество звонка. Если в ответ на вопрос «Довольны ли Вы качеством звонка?» выбрать НЕТ, лог звонка/конференции из клиентского приложения выгрузится на сервер, откуда его вместе с серверными логами звонка/конференции может скачать системный администратор. В скачанном архиве клиентские логи находятся в подпапке client logs.

      Логи обновления десктоп-приложения

      Для анализа проблем, связанных с обновлением десктоп-версии, могут потребоваться дополнительные логи, которые находятся в специальном файле.

      Версия Расположение файла
      Windows %USERPROFILE%\AppData\Roaming\Express\log.log
      Mac OS Библиотека/Logs/Express
      Linux ~/.config/eXpress/logs/log.log

      Логи регистрации или авторизации

      Логи регистрации или авторизации из приложения на Android

      1. Вернитесь в начало на экран ввода номера телефона (если нужно, завершите сессию в настройках приложения для этого).
      2. Много раз нажмите надпись Введите номер телефона, пока внизу не всплывёт уведомление о ведущейся записи логов. В шторке уведомлений Android появится уведомление о записи логов «Идёт дебаг, не забудьте выключить».
      3. Воспроизведите проблему, которая возникает на экране авторизации или сразу после входа в приложение.
      4. Откройте шторку уведомлений Android, нажмите на уведомление «Идёт дебаг, не забудьте выключить», нажмите кнопку Остановить, затем Поделиться, чтобы сохранить или отправить логи в поддержку.

      Логи регистрации или авторизации из приложения на iOS

      1. На всплывающей ошибке нажмите кнопку Показать отчет.
      2. Наверху справа нажмите кнопку «поделиться», чтобы сохранить или отправить логи в поддержку.

      Логи регистрации или авторизации из веб-приложения

      1. Нажмите клавишу ( Fn +) F12 и выберите вкладку Console. Для просмотра сетевых запросов выберите вкладку Network.
      2. В консоли нажмите кнопку-шестерёнку наверху, чтобы открыть настройки, и в подразделе Console включите параметр Show timestamps. Таким образом, в консоли будет фиксироваться время событий.
      3. Можно предварительно очистить консоль, в контекстном меню выбрав команду Clear console. Воспроизведите проблему с авторизацией. В консоли появится ошибка или предупреждение. Сделайте скриншот ошибки или сохраните весь лог консоли командой Save as. в контекстном меню лога консоли.
      4. Чтобы сохранить информацию о сетевых запросах в файл HAR, на вкладке Network в контекстном меню выберите команду Save all as HAR with content. Если нужно, сетевые запросы можно предварительно очистить кнопкой Clear наверху.

      Логи регистрации или авторизации из десктоп-приложения

      1. Вернитесь в начало и нажмите Войти с помощью номера телефона внизу страницы.
      2. Много раз нажмите на логотип, пока не откроется инженерное меню. Далее нажмите кнопку ОТКРЫТЬ КОНСОЛЬ.
      3. В открывшейся справа консоли выберите вкладку Console. Для просмотра сетевых запросов выберите вкладку Network.
      4. В консоли нажмите кнопку-шестерёнку наверху, чтобы открыть настройки, и в подразделе Console включите параметр Show timestamps. Таким образом, в консоли будет фиксироваться время событий.
      5. Можно предварительно очистить консоль, в контекстном меню выбрав команду Clear console. Воспроизведите проблему с авторизацией. В консоли появится ошибка или предупреждение. Сделайте скриншот ошибки или сохраните весь лог консоли командой Save as. в контекстном меню лога консоли.
      6. Чтобы сохранить информацию о сетевых запросах в файл HAR, на вкладке Network в контекстном меню выберите команду Save all as HAR with content. Если нужно, сетевые запросы можно предварительно очистить кнопкой Clear наверху.

      Серверные логи регистрации или авторизации

      Информация для системного администратора или поддержки.

      Попытки войти и причины неудачных попыток пользователей можно просмотреть в панели администратора корпоративного сервера в разделе Аудит.

      • ad_integration — для диагностики интеграции с Active Directory;
      • authentification — для диагностики входа в систему (только на ETS/RTS);
      • email_notifications — если не приходит код на почту пользователя.

      Логи корпоративного сервера

      Информация для системного администратора или поддержки.

      Об уровнях логирования

      1. error выводит в логи только ошибки; рекомендуется для систем, где больше 10 тыс. пользователей.
      2. warning рекомендуется для постоянной работы.
      3. info используется по умолчанию, предназначен для диагностики проблем.
      4. debug — самый подробный для расширенной диагностики проблем. Не рекомендуется использовать, поскольку вызывает зависание системы.

      Учтите, что при выполнении команды dpl -d для критических контейнеров будет перерыв в работе сервиса!

      Либо уровень логирования задаётся командой в консоли самого сервиса, без повторного deploy контейнера:
      Logger.configure(level: :debug)

      Логи звонков и конференций с корпоративного сервера

      Чтобы собрать логи звонка с корпоративного сервера, в панели администратора перейдите в раздел Звонки, найдите желаемый звонок и нажмите Скачать логи.

      Звонок можно найти по ID чата, в котором был звонок, либо по ID звонка (этот ID можно получить из логов инженерного меню приложения).

      Логи конференций доступны в подразделе Конференции панели администратора. Учтите, что конференция появится в этом списке, только если она была создана на этом сервере.

      ID конференции можно взять из логов звонков и конференций в инженерном меню самого приложения.

      Логи контейнеров с корпоративного сервера

      Чтобы собрать логи контейнера с корпоративного сервера, в панели администратора перейдите в раздел Контейнеры, нажмите >_логи напротив нужного контейнера. Введите дату и количество строк, которые нужно вывести, снимите флажок follow (чтобы не получать сообщения в режиме реального времени) и нажмите кнопку show.

      При переполнении буфера обмена новые события в журнале будут затирать самые старые. При обновлении контейнера на новую версию старые журналы очищаются.

      Общие логи сервера и логи контейнеров можно получить не только в панели администратора, но и через консоль:
      dpl –-dc logs –tail=1000 > logs.txt

      В tail указывается количество выводимых последних строк лога.

      Логи контейнеров messaging и voex (для звонков): cd /opt/express dpl —dc logs -tail=1000 messaging > filename.log dpl —dc logs -tail=1000 voex > filename.log
      Логи контейнеров coturn и redis (для звонков):
      cd /opt/express-voice dpl —dc logs -tail=1000 coturn > filename.log dpl —dc logs -tail=1000 redis > filename.log
      Логи контейнера file service:
      cd /opt/express dpl —dc logs -tail=1000 file_service > filename.log

      Логи Smart Apps и ботов

      Клиентские логи Smart App на Android

      1. Нажмите (Чаты >) Настройки >О программе > много раз нажмите на логотип, пока не откроется инженерное меню.
      2. На вкладке LOG в подразделе Smart Apps log включите Enable Smart Apps log.
      3. Закройте инженерное меню, откройте Smart App, воспроизведите проблему и через кнопку-троеточие в самом Smart App скачайте его логи.
      1. Нажмите (Чаты >) Настройки >О программе > много раз нажмите на логотип, пока не откроется инженерное меню.
      2. На вкладке LOG в подразделе Smart Apps log включите Enable Smart Apps log.
      3. Вернитесь в раздел О программе. Внизу нажмите кнопку Начать сбор диагностических данных.
      4. Откройте каталог Smart Apps и нажмите на проблемный Smart App.
      5. Не сворачивая приложение и не отключая интернет, подождите 15 секунд.
      6. Вернитесь в раздел О программе и нажмите внизу Остановить и поделиться (скачать).

      При необходимости предварительно очистите логи Smart Apps: в инженерном меню на вкладке LOG в подразделе Smart Apps log выключите Enable Smart Apps log, если она была включена, затем снова включите.

      Клиентские логи Smart App на iOS

      1. В инженерном меню приложения ((Чаты >) Настройки >О программе > много раз нажмите на логотип, пока не откроется инженерное меню.
      2. Включите настройку Собирать логи SmartApp (Collect Smart apps logs).
      3. Закройте инженерное меню, откройте Smart App, воспроизведите проблему и через кнопку-троеточие в самом Smart App скачайте его логи.

      При необходимости предварительно очистите логи Smart Apps: в инженерном меню выключите настройку Собирать логи SmartApp (Collect Smart apps logs), если она была включена, затем снова включите.

      Клиентские логи Smart App из веб/десктоп-приложения

      1. В инженерном меню приложения ((Чаты >) Настройки >О программе > много раз нажмите на логотип, пока не откроется инженерное меню.
      2. Включите настройку Собирать логи SmartApp (Collect Smart apps logs).
      3. Закройте инженерное меню, откройте Smart App, воспроизведите проблему и через кнопку-троеточие в самом Smart App скачайте его логи.

      При необходимости предварительно очистите логи Smart Apps: для очистки логов закройте панель Smart App или очистите кэш приложения нажатием клавиш ( Cmd ) Ctrl + R .

      Клиентские логи Smart App «Главная» и «Сервисы»

      1. В инженерном меню приложения ((Чаты >) Настройки >О программе > много раз нажмите на логотип, пока не откроется инженерное меню и далее:
        • Android: на вкладке LOG в подразделе Smart Apps log включите Enable Smart Apps log.
        • iOS и веб/десктоп: включите настройку Собирать логи SmartApp (Collect Smart apps logs).
      2. Закройте инженерное меню, и:
        • откройте проблемный Smart App, воспроизведите проблему и через кнопку-троеточие скачайте логи в самом Smart App.
        • либо откройте Сервисы (кнопка с 9-ю точками) > после загрузки много раз нажмите надпись Сервисы, пока не появится системное меню приложений. В нём выберите Home Screen. Нажмите три точки справа в верхнем углу и выберите Логи.

      Серверные логи бота или Smart App

      Информация для системного администратора или поддержки.

      1. Зайдите на сервер, на котором запущен бот, используя ssh:
        ssh user@your.server
      2. Найдите имя контейнера с ботом (в последнем столбце), используя команду:
        docker ps
      3. Подставьте имя контейнера в следующую команду, чтобы записать логи бота в файл:
        docker logs CONTAINER_NAME > /tmp/bot_logs.txt 2>&1
      4. Выгрузите файл с логами с сервера, используя команду scp (команду запускать на ПК, не на сервере) или любым другим удобным для вас способом:
        scp user@your.server:/tmp/bot_logs.txt

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *