- Логирование в Android приложениях
- Пытаемся навести порядок
- Что такое логи андроид
- 990x.top
- Простой компьютерный блог для души)
- Папка Logs на Андроиде — что это такое?
- Папка Logs на Андроиде — что это?
- Зачем нужны Log-файлы?
- Заключение
- Android: логгирование и отправка результатов на почту
- Сбор и хранение логов.
- Передача файлов в другие приложения
- Отправка писем с логами.
- Как посмотреть логи на Android?
- Как просмотреть журнал событий на Андроиде?
- Как открыть log файл на андроид?
- Как удалить лог файлы андроид?
- Как снять логи в Андроид студио?
- Как открыть LogCat в Android Studio?
- Где хранятся отчеты об ошибках Android?
- Как посмотреть журнал уведомлений?
- Что такое системный журнал?
- Что такое снятие логов?
- Что такое Crash Log TXT?
- Что такое лог?
- Как удалить старые файлы обновления андроид?
- Можно ли удалять лог файлы?
- Как удалить все следы приложения Android?
Логирование в Android приложениях
Уверен, что всем разработчикам приложений на платформе Android знаком класс Log, позволяющий логировать различные события. По различным причинам, формат записи логов для каждого проекта может отличаться достаточно сильно — начиная от «AAA», «111111» и «I was here» до более-менее внятных — «Opening HTTP connection to habrahabr.ru». Под катом вы найдете пример функции, которая поможет навести порядок в логах.
Данный топик не претендует на оригинальность и универсальность. И поэтому, если в вашем проекте уже существует некий стандарт логирования событий, то смело проходите мимо — топик скорее ориентирован на начинающих разработчиков.
Как правило, ценность логов начинаешь понимать только когда заказчик матерясь отсылает лог на почту и просит засабмитить фикс через 5 минут. И если лог состоит из сообщений невнятного характера, то как минимум, разбр данного лога займет куда больше времени, чем хотелось бы.
Пытаемся навести порядок
Логи существуют для того, чтобы разработчик мог понять что, где и когда произошло. Найти ответ на вопрос «когда произошло» достаточно просто — в логах Андройд записывает время события. Нахождение ответа на вопрос «что произошло» так же не вызывает больших трудностей, если сообщение в лог было написано со смыслом, например: «Opening file. ». Вопрос «где произошло» оказывается наиболее сложным. Если проект большой, то придеться потратить время на нахождение нужного места кода, даже, если лог был написан со смыслом.
Если событие логируется с указанием Throwable (чаще Exception), например, метод public static int d (String tag, String msg, Throwable tr) , то в консоле сообщений будет выведен стек, который поможет быстро идентифицировать место логирования. Но использование данного метода без особой необходимости до безобразия перегрузит лог ненужной информацией.
Если же логируется просто текст, то при логировании можно явно указывать место вызова. Например:
Однако, писать такое каждый раз — дело утомительное и неблагодарное.
Ниже приведен пример класса Log , который делает это автоматически.
Использование класса очень простое:
Результатом логирования данным способом будут примерно следующие строки:
Примечание:
По понятным причинам, данный способ мало пригоден для приложений «пропущенных» через обфускатор.
В общем-то все.
Прошу прощения, если эта статья показалась слишком тривиальной для хабра.
Источник
Что такое логи андроид
Многие владельцы Android хотят иметь систему настроенную под себя, со своим оформлением, но далеко не у всех получается с первого раза и все приходится делать заново, не узнав причину, ведь причина может быть самая элементарная: забыли добавить файл, ошиблись в каком то файле и случайно добавили лишний символ, а ведь если вы делали по большой инструкции, несколько часов или дней (в связи такой сложностью, у вас редко бывает время или вы не понимали на тот момент как надо было делать), а у вас ваше приложение не заработало, как-же быть тогда?
Есть одно решение, воспользоваться логом системы — LogCat.
Пользоваться им не очень сложно и делается он запросто, для начала нам необходимо скачать программу ADB, скачать вы её можете — здесь. Распаковываем скачанный архив в папку C:/adb. Открываем командную строку и пишем
и открываем ваше нерабочее приложение, если это статус-бар, то ждём когда он выдаст ошибку. В папке C:/adb будет лежать logcat.txt, его вы вылаживаете сюда или отправляете человеку, который вас попросил, ждёте ответа.
P.S. Тема была специальна создана, дабы всё время не описывать и объяснять, что да как делать.
Сообщение отредактировал WinKarbik — 14.08.14, 16:00
Там есть информация об этом, но возможно не так подробно.
Имеет смысл не распыляться по темам, а написать там, и попросить добавить в шапку той темы.
WinKarbik,
в этом случае, тема просто погрязнет в мусоре других тем, вот и всё.
Та же тема всегда наверху в том разделе.
Источник
990x.top
Простой компьютерный блог для души)
Папка Logs на Андроиде — что это такое?
Приветствую друзья. Данная заметка расскажет о папке Logs, которую можете заметить на смартфоне под управлением операционной системы Android.
Папка Logs на Андроиде — что это?
Содержит логи — специальные файлы, содержащие служебную информацию о работе некоторых системных функций/приложений телефона. Записываются ошибки, успешный результат, а также дополнительная информация.
Важно: данные файлы несут только информационный характер.
Стандартное расположение папки:
Без рут-доступа данная папка пользователю недоступна. Однако файлов внутри может становиться больше, свободное место телефона уменьшается.
В интернете найдена инструкция очистки логов системы:
- Наберите комбинацию *#9900#, на дисплее отобразится служебное меню.
- Нажмите пункт Delete dumpstate/logcat, кликните ОК.
- После данного действия логи телефона удалятся.
Способ был проверен на устройстве Самсунг Гелекси без рут-доступа. Действия проводить в стандартном диалере.
Данный способ на некоторых устройствах может не работать.
Зачем нужны Log-файлы?
Для обычных пользователей особой ценности не представляют. Внутри много системной информации, в которой нужно разбираться, чтобы извлечь пользу.
Обычно полезны программистам, которые анализируя логи находят ошибку в софте и исправляют.
Кроме OS Android, подобные файлы присутствуют в Windows, Linux и других операционках.
Заключение
- Папка Logs на Андроиде — содержит специальные файлы-отчеты, в которые записывается информация об ошибочных/успешных операциях некоторых программ/функций операционной системы Android.
- Данные файлы могут быть полезны при поиске проблем смартфона.
Источник
Android: логгирование и отправка результатов на почту
Хочу начать небольшой разговор о том, как можно получать данные о работе приложения и некоторых его компонентов от пользователей.
Одно дело — разработка, LogCat в Android Studio (если вы из любителей пожестче — можно распечатку в консоли смотреть с помощью adb), и совсем другое — ломать голову над вопросом почему у вас все работает на всем парке тестовых устройств, а пользователь жалуется на абсолютно обратную ситуацию. Коммуникация между разработчиком и конечным пользователем — это хорошо, но совсем другое — видеть своими глазами картинку происходящего (помните, как в матрице — для кого-то это зеленые иероглифы, а для кого-то — женщина в красном?)
Предлагаю разбить задачу на несколько частей, а именно — сбор и хранение логов, способ их передачи из одного приложения в другие с помощью FileProvider, ну и небольшой helper класс для создания писем с аттачами. Итак, поехали.
Сбор и хранение логов.
Кто-то использует System.out.println, кто-то — статические методы класса Log. Я с некоторых пор пришел к написанию своего класса для распечатки логов. Давайте вкратце расскажу почему.
Во-первых, это проще. Как правило, для отслеживания изменений в процессе выполнения приложения я использую одну и ту же метку. И вот однажды я подумал — зачем ты пишешь постоянно Log.i(MY_TAG, «info») если можно сократить немного и убрать из этой формулы одну постоянную?
Во-вторых, расширение логгирования. Это конкретно упирается в нашу задачу — хранение логов в файлах. Можно написать отдельный класс, в который будем передавать какие-то данные, как то: данные и имя файла, но данные мы уже передаем в метод Log.i / Log.e / проч., создавать лишний раз переменную что ли для этого? Некрасиво все это как-то.
Ладно, довольно лирики, давайте лучше взглянем на класс Diagnostics.
Для того, чтобы вывести информацию в LogCat с дефолтной меткой, достаточно написать следующее:
Иногда мне хочется видеть какие методы вызываются и в каких объектах. И с какими параметрами или значениями переменных. В общем, тут важно для меня — где именно производится вызов. Тогда я использую следующую конструкцию
Diagnostics.i(this, “onCreate w/param1 = “ + param1);
где this — это экземпляр класса Caller. Например, для MainActivity вы увидите следующее:
03–29 12:31:53.203 16072–16072/com.isidroid.platform I/Diagnostics: MainActivity.onCreate w/param1 = 200
И все сразу становится понятно — кто вызывает и где вызывает.
А теперь о хранении этой информации.
Как вы уже могли видеть, в классе Diagnostics есть методы для работы с файлами — createLog и appendLog. Объяснять, я думаю, не стоит — первый создает файл, второй — добавляет в него строку. Для новичков или тех, кто ленится читать код, уточню — appendLog создает файл, если его не существует, а createLog всегда создает новый. Чтобы лишней информации там не хранилось.
Файлы хранятся в cache директории, которая, к слову, недоступна для других приложений (ну, если у вас телефон не рутован, конечно).
В общем, теперь процедура распечатки лога и хранения его в файле выглядит следующим образом.
Надеюсь, это выглядит просто в использовании.
Передача файлов в другие приложения
Как я уже говорил выше, наши файлы для лога хранятся в некоторой защищенной от чужих глаз папке. Она настолько защищена, что если вы попробуете передать файлы в другое приложение с использованием относительного пути File.getAbsolutePath(), то вы потерпите неудачу.
На помощь к нам мчится FileProvider, друзья!
Вообще, в документации есть отличная статья (она же — пошаговая инструкция) на эту тему — Setting Up File Sharing, но для тех, кто предпочитает читать StackOverFlow и isidroid.com, я приведу выжимку из статьи с кодом реализации.
- Добавляем FileProvider в Manifest.
2. Указываем директории, доступные для шаринга. Для этого создаем файл res/xml/cache_file_paths и для нашего конкретного примера заполняем его.
Конец.
Нет, правда, это все.
На самом деле это довольно мощный инструмент для работы с файлами в вашем приложении, но в рамках поставленной задачи это все, что нам нужно сделать. Подробности — в официальной документации.
Отправка писем с логами.
Мы с вами почти добрались до конца, осталось дело за малым. Вообще, создание намерения (intent) для отправки писем — это довольно тривиальная задача, чтобы под нее писать отдельный хелпер. Но с другой стороны, если можно причесать код в вашей Activity / Fragment, то почему бы и нет, верно?
Гораздо симпатичнее будет выглядеть какой-нибудь строитель (builder) в коде нежели условия, проверки и лишние циклы. Я за то, чтоб это выносить в отдельный класс (кстати, не только я ратую за разделение представления от бизнес-логики).
Давайте перейдем сразу к сути. Сначала я покажу класс (который вы можете скопировать и использовать не глядя, конечно), а потом пример его использования. Поехали!
Где this — это Activity.
Вы можете самостоятельно указать «рыбу» для текста письма, но я рекомендую использовать те данные, которые указаны в методе buildContent, расширяя их при необходимости. Можно конечно извернуться и применить паттерн «декоратор» для расширения этих данных без модификации класса FeedbackHelper, но лично для меня необходимости в этом не было… Что до вас, то дерзайте!
Источник
Как посмотреть логи на Android?
Как просмотреть журнал событий на Андроиде?
Как посмотреть другие действия
- На телефоне или планшете Android откройте приложение «Настройки» Google Аккаунт Google.
- В верхней части экрана нажмите Данные и персонализация.
- В разделе «Действия и хронология» выберите Мои действия.
- В правом верхнем углу страницы нажмите на значок «Ещё» …
- Выберите нужный вариант.
Как открыть log файл на андроид?
Как получить лог-файл
- Запустите приложение на мобильном устройстве и воспроизведите возникающую проблему.
- В командной строке для остановки сбора логов нажмите Ctrl+C на клавиатуре.
Как удалить лог файлы андроид?
Чтобы решить проблему, наберите на телефоне служебный номер *#9900#. Телефон при этом никуда не звонит, зато на экране появляется служебное меню. Выберите в нём второй пункт, Delete dumpstate/logcat, нажмите OK. Всё.
Как снять логи в Андроид студио?
Для третьего способа нужно:
- Скачать и установить последнюю версию «Android Studio». Запустить один раз «Android Studio» для подкачивания нужных файлов. Подключить устройство к ПК, предварительно включив отладку через USB. …
- Выбрать вкладку «LogCat».
- Дождаться полной загрузки логов. Скопировать логи (нажав Ctrl+A).
Как открыть LogCat в Android Studio?
Попробуйте нажать Alt + 6 в Windows или CMD + 6 на Mac. А как насчет Linux? В AndroidStudio 3.4: View-> ToolWindows-> LogCat.
Где хранятся отчеты об ошибках Android?
Отчеты об ошибках хранятся в /data/data/com. android. shell/files/bugreports .
Как посмотреть журнал уведомлений?
Как посмотреть подробную историю уведомлений на Android
- Откройте перечень всех доступных виджетов (через контекстное меню, список установленных приложений или другим способом).
- Найдите виджет «Ярлык настроек» и перетащите его на рабочий стол смартфона или планшета.
- Появится меню с несколькими доступными опциями, выберите среди них «Журнал уведомлений».
Что такое системный журнал?
системный журнал (файл) — Регистрирует события операционной системы, а также особые действия оператора.
Что такое снятие логов?
Снять логи — означает процедуру по записи показателей определённых групп измерений в файл для последующего анализа этих данных. Логи снимают в одном из двух режимов: В рабочем режиме. Например, для анализа работы датчиков, работы системы климата или блока комфорта.
Что такое Crash Log TXT?
txt> фиксируется время возникновения важных событий и их краткое описание. Лог-файл crash. txt> содержит в себе время возникновения ошибок и их краткое описание.
Что такое лог?
Логи (лог-файлы) — это файлы, содержащие системную информацию работы сервера или компьютера, в которые заносятся определенные действия пользователя или программы. Иногда также употребляется русскоязычный аналог понятия — журнал.
Как удалить старые файлы обновления андроид?
Убрать можно только апдейты встроенных в Android приложений – Google Chrome, Play Market.
…
Удаление обновлений
- Откройте настройки, перейдите в «Приложения».
- Отыщите в списке программу, обновления которой хотите удалить. …
- Тапните по кнопке «Удалить обновления».
Можно ли удалять лог файлы?
Для того что бы очистить место на диске необходимо удалить не нужные файлы. Чаще всего место занимают log файлы терминалов, советников и история котировок. Для их удаления нужно перейти в каталог данных МТ, и удалить в нем следующие файлы: … logs*.
Как удалить все следы приложения Android?
Кэш отдельно взятого приложения: зайдите в диспетчер приложений («Настройки» → «Приложения» → «Показать все приложения»), выберите требуемую игру либо программу из списка, откройте подраздел «Хранилище» и нажмите кнопку «Очистить кэш».
Источник