Android studio log print

Logcat

В Android SDK входит набор инструментов, предназначенных для отладки. Самый важный инструмент при отладке — это LogCat (очень красивое название, которое можно перевести как Логичный Кот). Он отображает сообщения логов (журнал логов), рассылаемые при помощи различных методов.

Рассмотрим на примере. Очень часто программисту нужно вывести куда-то промежуточные результаты, чтобы понять, почему программа не работает. Особо хитрые временно размещают на экране текстовую метку и выводят туда сообщение при помощи метода textView.setText(«Здесь был Васька»). Но есть способ лучше. В Android есть специальный класс android.util.Log для подобных случаев.

Класс android.util.Log позволяет разбивать сообщения по категориям в зависимости от важности. Для разбивки по категориям используются специальные методы, которые легко запомнить по первым буквам, указывающие на категорию:

  • Log.e() — ошибки (error)
  • Log.w() — предупреждения (warning)
  • Log.i() — информация (info)
  • Log.d() — отладка (degub)
  • Log.v() — подробности (verbose)
  • Log.wtf() — очень серьёзная ошибка! (What a Terrible Failure!, работает начиная с Android 2.2)
  • Log.meow() — когда жрать дадут? (MEOW!) Недокументированный метод, используйте на свой страх и риск. Работает не на всех устройствах

В первом параметре метода используется строка, называемая тегом. Обычно принято объявлять глобальную статическую строковую переменную TAG в начале кода:

Некоторые в сложных проектах используют следующий вариант, чтобы понимать, в каком классе происходит вызов:

Далее уже в любом месте вашей программы вы вызываете нужный метод журналирования с этим тегом:

Также используется в исключениях:

Пользователи не видят этот журнал. Но, вы, как разработчик, можете увидеть его через программу LogCat, доступный в Android Studio.

Полный вид сообщения выглядит следующим образом.

03-09 20:44:14.460 3851-3879 / ru.alexanderklimov.cat I/OpenGLRenderer : Initialized EGL, version 1.4

  • 03-09 20:44:14.460 Date/Time
  • 3851-3879 Process & Thread IDs
  • ru.alexanderklimov.cat Package name
  • I/OpenGLRenderer Tag
  • Initialized EGL, version 1.4 Message

Подобные длинные сообщения не всегда удобны для чтения. Вы можете убрать ненужные элементы. Для этого выберите значок LogCat Header в виде шестерёнки и уберите флажки у опций.

В LogCat вы можете отфильтровать сообщение по заданному типу, чтобы видеть на экране только свои сообщения. Для этого выберите нужный тип тега из выпадающего списка Verbose.

Типы сообщений можно раскрасить разными цветами через настройки File | Settings | Editor | Colors Scheme | Android Logcat.

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

Также активно используйте варианты из других выпадающих списков. Например, выбирайте свой пакет из второй колонки, а в последней выбирайте Show only selected application. Для более точной настройки используйте Edit Fiter Configuration.

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

LogCat также можно запустить из командной строки:

Параметры командной строки смотрите в документации.

Быстрое отключение журналирования

Настоятельно рекомендуется удалять все вызовы LogCat в готовых приложениях. Если проект очень большой и вызовы журналирования разбросаны по всем местам кода, то ручное удаление (или комментирование) становится утомительным занятием. Многие разработчики используют следующую хитрость — создают обёртку вокруг вызова методов LogCat.

Теперь остаётся только присвоить нужное значение переменной isDebug перед созданием готового apk-файла для распространения.

Способ устарел. В 17-й версии Android Build Tools появился класс BuildConfig, содержащий статическое поле DEBUG. Можно проверить следующим образом:

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

В этом случае конфигурация releaseWithLog будет являться релизной сборкой с ведением логов. Естественно, в коде слегка поменяется проверка:

LogCat на устройстве

Попался в сети пример для просмотра сообщений LogCat на устройстве. С примером не разбирался, оставлю здесь на память.

Источник

How to Print to the Console in Android Studio?

In computer technology, the console is simply a combination of a monitor and an input device. Generally, the input device is referred to here as the pair of mouse and keyboard. In order to proceed with the topic, we have to understand the terminology of computer science, which is an important part of the process of developing software, and it’s called debugging. Debugging is the process of identifying a bug or an error and fixing it properly for the software. We have to test the software before producing it on market in multiple phases. We have to debug the errors also, then only software will be pure error-free and it will be ready for production. The most of the things which computer does with our code is invisible for us. For Debugging, we have to identify the error first then only we can solve that error. If you want to see the error, then you have to print or log it to our console directly. There are many and different methods in different programming languages for doing it.

Читайте также:  Как сохранить номер android

In C, We do it using printf(), in C++ we will use cout, and in Java, we generally use System.out.println. We all know, that in the android studio we have to code in a different way. Android has its own methods and components, we have to code the application using them. This is slightly different from normal programming. In today’s article we are going to learn about that how can we print to the console in Android Studio.

What is Logcat Window?

The Logcat is a window in android studio, which displays system information when a garbage collection occurs and also the messages which you have added to your Log class. It displays the message in real-time. It also keeps the history of the messages. You can also learn more about the Logcat window from Here.

Introduction and Types of Log Class

The log class is a pre-defined class in android studio which allows the developer to print messages in Logcat Window, which is the console for Android Studio. Every message is written using a log, Contains a special type or format that represents for what purpose the message is being written.

Kotlin

Above is the sample of a default code for printing something to the logcat. The d is the symbol here that the message is written for debugging the code. More symbols and types are below mentioned in the Log class. The priority of verbose is the lowest and the assert has the highest priority. Below is the list of types of messages in the log class in chronological order.

  • V (Verbose)
  • D (Debug)
  • I (Information)
  • W (Warning)
  • E (Error)
  • A (Assert)

Log class always takes two arguments, the tag, and the message. The tag is like an identifier of your message you can choose it according to preference and in place of messages, you have to type your log message.

How to Print to the Console in Android Studio using Log Class?

Now, we are aware that in the android studio we have to use the Log Class to print something on the Logcat window which is the console for android. So, Let’s see a real-world implementation of this method called Logcat.

Step 1: Start a New Project in Android Studio or Open an existing project on which you want to work. Here is the guide to Starting a new project on Android Studio.

Step 2: Go to your Java or Kotlin file for the activity, and in your onCreate method write the log messages with help of the Log class. Below is our code that we have used in the MainActivity for Random number generation and Printing log messages.

Note: Choose your desired activity, for which you want to print on console. For example, here we are working on MainActivity and generating a random number, and printing it using conditional statements. You can do this or can do something similar to it.

At bottom of the page, we will also share the GitHub repository of the application which we have made in this article. You can refer to that.

Step 3: Now try to build and run your android application, in the meantime also click on the Logcat button which will be on the bottom. Log messages will appear according to the condition cause here we have used the conditional statements.

Button in Logcat Window

In the logcat window, these are the buttons for many tasks:

  • Clear logcat: Clears the visible Logcat window
  • Scroll to the end: Take you to the end of the logcat window, where you can see the latest messages.
  • Up the stack trace and Down the stack trace: Navigates up and down the stack traces in the log
  • Use soft wraps: Enables the line wrapping and prevents the horizontal scrolling
  • Print: Print logcat messages on paper or save them as a PDF.
  • Restart: Clears the log and restarts it.
  • Logcat header: Open customization options for log messages
  • Screen capture: Captures the logcat window as an image
  • Screen record: Records the video up to 3 Minutes of logcat window.
Читайте также:  Стартовый экран для андроид

Search Logcat Window

You can select regex optionally, for using a regular expression search pattern. Then type something in the search field which you want to search. The search results will be displayed. If you want to store the search string in this session then press enter after typing the search string.

Filter in Logcat Window

On the top right corner of the logcat window, you will see a filter button and will find three options:

  1. Show only selected applications: Displays the messages generated by the app code only.
  2. No Filters: Apply no filters
  3. Edit Filter Configurations: Modify your custom filter or create new filters

GitHub link as a Resource: Click Here

Источник

Android studio log print

Отладку программы для Android можно производить несколькими способами — с помощью эмулятора, через подключение USB и через сетевое подключение TCP/IP (например по Wi-Fi).

[Отладка с помощью эмулятора]

В среду Android Studio уже встроен эмулятор устройств Android, на котором можно отлаживать свои программы. Достоинство такого метода в том, что нет необходимости покупать специально для отладки смартфон или другое устройство с установленной системой Android, и можно точно подобрать конфигурацию эмулируемого устройства. Недостаток состоит в том, что эмулятор работает очень медленно, и он очень требователен к хосту, на котором идет отладка — и к памяти, и к процессорным ресурсам.

[Отладка через USB]

Описание процесса запуска отладки под Windows XP в Android Studio, по шагам:

1. Сначала нужно разрешить режим отладки USB. Войдите в Настройки -> Параметры разработчика -> Поставьте галочку «Отладка USB». Высветится предупреждение, подтвердите положительно — «Да».

2. Нужно на компьютере установить драйвер Android ADB Driver. Это можно сделать, если скачать и запустить программу UsbDriverTool-sfx.exe [4,5]. После запуска укажите папку, куда нужно распаковать утилиту, например c:\temp, утилита распакуется в папку c:\temp\UsbDriverTool\. В папке c:\temp\UsbDriverTool\AndroidUsb\ будет находиться драйвер Android ADB Driver, который нам нужен.

3. Подключите Ваш смартфон с Android через USB к компьютеру. Внимание, это важно: на смартфоне должен определиться режим «Подключен как камера (PTP)», ни в коем случае не как USB Mass Storage устройство/флешка и не Мультимедиа-устройство MTP. Компьютер обнаружит новое устройство, запустится мастер установки драйвера. Подсуньте ему папку c:\temp\UsbDriverTool\AndroidUsb.

Установить драйвер можно также с помощью утилиты UsbDriverTool.exe, которая находится в архиве [5]. Запустите эту программу при подключенном через USB Android-устройстве. На стартовом экране будет отображено устройство SAMSUNG_Android:

Выберите строку с устройством Android и нажмите кнопку Change driver type. Появится следующий экран, где будет предложено выбрать тип драйвера.

Выберите Android ADB Driver и нажмите Install. Через несколько секунд драйвер установится и будет готов к работе.

4. Запустите Android Studio. Откройте Ваш проект программы (или создайте новый). Зайдите в меню Run -> Edit Configurations. слева в дереве настроек выберите Android Application -> MyApplication (Ваше созданное приложение) -> справа выберите в Target Device радиокнопку «USB Device», нажмите OK.

5. Запустите приложение на отладку.

Если в консоли отладки видите сообщение «Waiting for device. USB device not found», и в Android Debug Monitor Вы получаете сообщения типа «Unable to debug device: samsung-gt_n7000-0019a2fe5212ce» или «Missing forwarded port for 0019a2fe5212ce» — переподключите устройство к USB и попробуйте заново запустить отладку.

[Отладка через Wi-Fi]

ADB можно запустить по каналу связи TCP/IP, для чего можно использовать подключение Wi-Fi. Отладка через Wi-Fi является необычайно удобной. Не нужны провода, и отладка программы запускается очень быстро, так же как и при отладке через USB. Означает, что при отладке можно подключить устройство через коннектор USB к зарядке или куда-то еще. Это особенно удобно, когда отлаживаемых устройств Android у Вас больше, чем портов USB, и когда Вы хотели бы тестировать Ваши последние сборки через сеть, с помощью других людей. Подробнее про adb можно прочитать в [7]. Здесь приведено пошаговое руководство, как запустить такую отладку (подразумевается, что у Вас на компьютере уже установлены Android SDK, ADB, и Вы можете осуществлять отладку программ через USB).

1. Подключите устройство Android к Вашему компьютеру через USB в режиме разрешенной отладки через USB (как этот режим включается — см. раздел «Отладка через USB»). Перейдите в папку, где находится утилита adb.exe (на операционных системах Windows это обычно папка c:\Program Files\Android\android-studio\sdk\platform-tools), запустите интерпретатор команд cmd и введите команду:

Читайте также:  Как посмотреть пароль вай фая андроид

В ответ должно быть выведено сообщение:

Если у Вас была запущена среда Android Studio, и Вы следили за консолью Devices и логом сообщений logcat, то в этот момент увидите, что подключенное устройство Android исчезло из списка, в logcat перестали появляться новые сообщения. Сейчас Вы разрешили отладку через TCP/IP соединение с использованием порта 5555 (Вы также можете использовать любой другой свободный порт), осталось подключить ADB к устройству Android.

2. Теперь нужно узнать, какой IP-адрес у устройства Android. Этот адрес он получил, когда подключился к сети Wi-Fi. Адрес можно узнать, если зайти в Настройки -> Об устройстве -> Состояние (Settings -> About -> Status).

Итак, у нашего устройства IP-адрес 192.168.0.53. Теперь введите следующую команду:

В ответ получите сообщение:

3. Если Ваш компьютер находится в той же подсети (192.168.0/24), то теперь в среде Android Studio консоль Devices покажет подключенное устройство Android, и Вы свободно можете производить отладку точно так же, как раньше это делали через USB. Состояние моста ADB можно проверить командой:

В ответ должен быть выведен список подключенных устройств:

В Вашей среде разработки теперь доступен лог Logcat, и можно запустить на отладку Ваше разрабатываемое приложение. Будут работать следующие функции (как и при отладке через USB):

• Вывод Logcat.
• Развертывание отлаживаемого приложения на устройстве (копирование его из среды разработки в устройство).
• Отладка приложения.
• Создание скриншотов через ADB.

[Отладка на виртуальном устройстве AVD]

AVD переводится как Android Virtual Device. Программа AVD Manager позволяет создавать такие виртуальные устройства, которые Вы можете использовать при отладке своих программ. Отладка на AVD имеет свои преимущества, потому что позволяет создать множество устройств Android с разными характеристиками (разное разрешение экрана, разные версии операционной системы Android, разный объем памяти и т. п.). Однако отладка на AVD работает чрезвычайно медленно, и очень требовательна к ресурсам хостового компьютера, который запускает AVD (как по памяти, так и по процессорному времени). Ускорить отладку на AVD можно, если запускать виртуальное устройство из снапшотов (это настраивается при создании виртуального устройства), или если применить специальные приемы работы с эмулятором [6], но в любом случае отладка на реальном устройстве предпочтительнее отладки на AVD.

В среде Android Studio виртуальные устройства создаются запуском программы AVD Manager через меню Tools -> Android -> AVD Manager. В Eclipse виртуальные устройства создаются и настраиваются через меню Window -> Android Virtual Device Manager. Также AVD Manager можно запустить из командной строки, если выполнить команду android.bat avd. Скрипт android.bat находится в директории sdk\tools, папка установленного SDK (пакет SDK входит в состав ADT на основе Eclipse и также входит в установку Android Studio).

[LogCat]

Система Android предоставляет мощное средство вывода отладочных сообщений LogCat. LogGat позволяет в режиме реального времени, не останавливая программу, выводить текстовые сообщения в консоль, что дает возможность разобраться — что именно сейчас происходит в программе.

В системе разработки Eclipse консоль LogCat открывается автоматически после запуска отлаживаемой программы.

LogCat поддерживает разные уровни вывода сообщений:

Благодаря наличию уровней сообщений их можно грубо отфильтровать по уровню. Например, вот так это делается в консоли LogCat в среде Eclipse:

Когда Вы запускаете свое приложение в режиме отладки из Eclipse, то Вы можете увидеть множество сообщений, которые появляются в окне консоли LogCat: как сообщения, отправленные Вашим приложением, так и сообщения системы и других приложений, которые работают в этот момент на Вашем устройстве.

Чтобы вывести что-то в лог, сначала определитесь, насколько критичным должно быть выводимое сообщение (должно ли оно быть в категории отладочной информации (d, Debug), или это должно быть просто информационное сообщение (i, Info), или это должно быть предупреждение (w, Warning) или это должно быть сообщение об ошибке (e, Error)? После этого используйте для вывода подходящий метод:

Первый параметр myApp предоставляет текстовую метку, которая позволяет дополнительно отфильтровать сообщения в логе. Это может оказаться полезным, когда сообщений слишком много, и найти нужное сообщение будет проще, если заранее знать её метку. В консоли LogCat Eclipse такой фильтр можно создать кнопкой с зеленым плюсиком «Add new logcat filter».

Примечание: после отладочного запуска приложения в Eclipse один такой фильтр создается автоматически по имени пакета приложения. В этот фильтр попадут сообщения, которые система Android сама сгенерирует в ответ на события, относящиеся к Вашему приложению.

и в файл Android.mk добавьте строку

После этого для вывода в LogCat можете использовать функции __android_log_vprintf и __android_log_printf. Однако эти функции напрямую вызывать достаточно неудобно, поэтому есть смысл создать для них специальный класс Log:

Источник

Оцените статью