This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

Логи игры и системный лог

В логе игры отображаются все результаты работы движка, нативных расширений и вашей игровой логики. Команды print() и pprint() можно использовать из вашего скрипты и Lua-модулей для отображения информации в логе игры. Вы можете использовать функции из пространства имен dmLog для записи в лог игры из нативных расширений. Лог игры можно прочитать из редактора, из окна терминала, с помощью специальных инструментов платформы или из файла лога.

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

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

Чтение лога игры из редактора

Когда вы запускаете игру локально из редактора или подключаетесь к мобильному приложению для разработки, весь вывод будет отображаться на панели консоли редактора:

Editor 2

Чтение лога игры с терминала

Когда вы запускаете игру Defold из терминала, лог будет отображаться в самом окне терминала. В Windows и Linux вы вводите имя исполняемого файла в терминале, чтобы запустить игру. В macOS вам нужно запустить движок из файла .app:

$ > ./mygame.app/Contents/MacOS/mygame

Чтение логов игры и системных логов с помощью инструментов, специфичных для платформы

HTML5

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

  • Chrome - Menu > More Tools > Developer Tools
  • Firefox - Tools > Web Developer > Web Console
  • Edge
  • Safari - Develop > Show JavaScript Console

Android

Вы можете использовать Android Debug Bridge (ADB) для просмотра логов игры и системного лога.

The adb command line tool is an easy to use and versatile program that is used to interact with Android devices. You can download and install adb as part of the Android SDK Platform-Tools, for Mac, Linux or Windows.

Download the Android SDK Platform-Tools from: https://developer.android.com/studio/releases/platform-tools. You find the adb tool in /platform-tools/. Alternatively, platform specific packages can be installed through respective package managers.

On Ubuntu Linux:

$ sudo apt-get install android-tools-adb

On Fedora 18/19:

$ sudo yum install android-tools

On macOS (Homebrew)

$ brew cask install android-platform-tools

You can verify that adb works by connecting your Android device to your computer via USB and issue the following command:

$ adb devices
List of devices attached
31002535c90ef000    device

If your device does not show up, verify that you have enabled USB debugging on the Android device. Open the device Settings and look for Developer options (or Development).

Enable USB debugging

После установки и настройки подключите ваше устройство к USB, откройте терминал и выполните команды:

  cd <path_to_android_sdk>/platform-tools/
  adb logcat

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

Если вы хотите видеть только выходные данные приложения Defold, используйте эту команду:

$ cd <path_to_android_sdk>/platform-tools/
$ adb logcat -s defold
--------- beginning of /dev/log/system
--------- beginning of /dev/log/main
I/defold  ( 6210): INFO:DLIB: SSDP started (ssdp://192.168.0.97:58089, http://0.0.0.0:38637)
I/defold  ( 6210): INFO:ENGINE: Defold Engine 1.2.50 (8d1b912)
I/defold  ( 6210): INFO:ENGINE: Loading data from:
I/defold  ( 6210): INFO:ENGINE: Initialized sound device 'default'
I/defold  ( 6210):
D/defold  ( 6210): DEBUG:SCRIPT: Hello there, log!
...

iOS

У вас есть несколько способов прочитать игровые и системные логи на iOS:

  1. Вы можете использовать Console tool для чтения игрового и системного логов.
  2. Вы можете использовать отладчик LLDB для подключения к игре, запущенной на устройстве. Чтобы отлаживать игру, она должна быть подписана с помощью «Apple Developer Provisioning Profile», в который добавлено устройство, на котором вы хотите отлаживать. Соберите игру в редакторе и укажите provisioning profile в диалоговом окне сборки (сборка для iOS доступна только в macOS).

Чтобы запустить игру и подключить отладчик, вам понадобится инструмент под названием ios-deploy. Установите и отлаживайте игру, запустив в терминале следующую команду:

$ ios-deploy --debug --bundle <path_to_game.app> # ВНИМАНИЕ: не .ipa файл

Эта команда установит приложение на ваше устройство, запустит его и автоматически подключит к нему отладчик LLDB. Если вы не знакомы с LLDB, прочтите руководство Начало работы с LLDB.

Чтение лога игры из файла лога

Если вы включите параметр Write Log в game.project, любой вывод игры будет записываться на диск в файл с именем “log.txt”. Вот как можно извлечь файл, если вы запускаете игру на устройстве:

iOS
Подключите ваше устройство к компьютеру с установленными macOS и Xcode.

Откройте Xcode и перейдите в Window ▸ Devices and Simulators.

Выберите свое устройство в списке, затем выберите соответствующее приложение в списке Installed Apps.

Щелкните значок шестеренки под списком и выберите Download Container....

download container

Как только контейнер будет извлечен, он появится в приложении Finder. Щелкните по контейнеру правой кнопкой мыши и выберите Show Package Content. Найдите файл «log.txt», который должен находиться в «AppData/Documents/».

Android
Возможность извлечения файла “log.txt” зависит от версии ОС и производителя. Вот краткое и простое пошаговое руководство: https://stackoverflow.com/a/48077004/129360.