Уровень заполнения журнала на самсунг что это
Как включить/отключить уровни журналов в Android?
У меня есть множество операторов регистрации для отладки, например.
при развертывании этого приложения на телефоне устройства я хочу отключить подробный журнал, откуда я могу включить/отключить протоколирование.
ОТВЕТЫ
Ответ 1
Общим способом является создание имени именованного логического уровня и определение его уровня отладки на основе loglevel.
Позже вы можете просто изменить LOGLEVEL для всех уровней вывода отладки.
Ответ 2
Verbose никогда не следует компилировать в приложение, кроме как во время разработки. Журналы отладки компилируются, но удаляются во время выполнения. Журналы ошибок, предупреждений и информации всегда сохраняются.
Таким образом, вы можете захотеть удалить дескрипторы журнала Verbose, возможно, используя ProGuard, как это предлагается в другом ответе.
В качестве альтернативы вы можете указать их в файле ‘/data/local.prop’ следующим образом:
В более поздних версиях Android требуется, чтобы /data/local.prop был доступен только для чтения. Этот файл читается во время загрузки, поэтому вам необходимо перезапустить его после его обновления. Если /data/local.prop доступен для записи в мире, он, вероятно, будет проигнорирован.
Ответ 3
Это будет — кроме всех других оптимизаций ProGuard — удалите любые подробные записи журнала непосредственно из байт-кода.
Ответ 4
Ответ 5
Лучше всего использовать API SLF4J + часть его реализации.
Для приложений Android вы можете использовать следующее:
Ответ 6
Вы должны использовать
Ответ 7
Удаление журнала с помощью proguard (см. ответ от @Christopher) было простым и быстрым, но оно вызвало трассировку стека из производства, чтобы не соответствовать источнику, если в файле было зарегистрировано отладочное ведение журнала.
В этом методе используется запись в сообществах.
Ответ 8
Log4j или slf4j также могут использоваться в качестве фреймворков регистрации в Android вместе с logcat. См. Проект android-logging-log4j или поддержка log4j в android
Ответ 9
Ответ 10
Это позволяет вам иметь прекрасный контроль над журналами. Вы можете, например, отключить все журналы или только журналы некоторых пакетов или классов.
Кроме того, он добавляет некоторые полезные функции (например, вам не нужно передавать тег для каждого журнала).
Ответ 11
Вот более сложное решение. Вы получите полную трассировку стека, и метод toString() будет вызываться только при необходимости (Performance). Атрибут BuildConfig.DEBUG будет ложным в рабочем режиме, поэтому все журналы трассировки и отладки будут удалены. Компилятор горячей точки имеет возможность удалить вызовы из-за окончательных статических свойств.
Ответ 12
Я создал утилиту /Wrapper, которая решает эту проблему + другие общие проблемы, связанные с журналом.
Утилита отладки со следующими функциями:
Я попытался сделать документацию самодостаточной.
Предложения по улучшению этой утилиты приветствуются.
Ответ 13
В очень простом сценарии ведения журнала, где вы буквально просто пытаетесь писать на консоль во время разработки для целей отладки, проще всего просто выполнить поиск и заменить перед вашей производственной сборкой и прокомментировать все вызовы в журнал или System.out.println.
Например, если вы не используете «Журнал». где-либо вне вызова Log.d или Log.e и т.д., вы можете просто найти и заменить все решение для замены «Log». с «//Log». прокомментировать все ваши вызовы регистрации, или, в моем случае, я просто использую System.out.println всюду, поэтому, прежде чем приступать к производству, я просто сделаю полный поиск и замените для «System.out.println» и заменим на «//System.out.println».
Я знаю, что это не идеально, и было бы неплохо, если бы способность находить и прокомментировать вызовы Log и System.out.println были встроены в Eclipse, но до тех пор, пока это не будет самым простым и быстрым и лучшим способом сделайте это, чтобы прокомментировать поиск и заменить. Если вы это сделаете, вам не нужно беспокоиться о несоответствии номеров строк трассировки стека, потому что вы редактируете исходный код, и вы не добавляете никаких накладных расходов, проверяя конфигурацию уровня журнала и т.д.
Ответ 14
Ответ 15
Мы можем использовать класс Log в нашем локальном компоненте и определить методы как v/i/e/d. Основываясь на необходимости, мы можем позвонить дальше.
пример показан ниже.
Ответ 16
Для меня часто бывает полезно установить разные уровни журналов для каждой TAG.
Я использую этот очень простой класс-оболочку:
Теперь просто установите уровень журнала на TAG в начале каждого класса:
Ответ 17
Ответ 18
Однако System.setProperty() хранит совершенно другой набор свойств по сравнению со свойствами, доступ к которым может получить команда getprop которая может быть выдана в оболочке ADB. Следовательно, даже если вы попытаетесь использовать System.setProperty() для хранения уровня журнала для тега, он не будет работать.
Как уже упоминалось, вы можете использовать adb shell setprop
Уровень заполнения журнала на самсунг что это
Galaxy TalkBack является программой экранного доступа для операционной системы Android, которой комплектуются устройства фирмы Samsung, начиная с 2015 года. Она является форком программы TalkBack от Google и в значительной степени базируется на её кодовой базе, поэтому имеет с ней много общего. Тем не менее, настройки Galaxy TalkBack имеют и определённые отличия, поэтому нуждаются в отдельном описании.
В данном материале будут описаны все настройки программы Galaxy TalkBack, доступ к которым можно получить в разделе «Зрения» настроек специальных возможностей или через общее контекстное меню самой программы.
Группа настроек «Параметры речи»
Громкость речи
При нажатии открывается список для выбора уровня громкости речи Galaxy TalkBack. Доступны следующие варианты:
Первый вариант обеспечивает громкость речи на уровне общей громкости звука в системе, а последующие пропорционально снижают громкость речи Galaxy TalkBack относительно системной громкости.
По умолчанию в данном меню выбран пункт «100%».
Скорость речи
При нажатии открывается список для выбора скорости речи Galaxy TalkBack. Данная настройка позволяет задать скорость, отличную от скорости системных настроек синтеза речи. Доступны следующие варианты:
По умолчанию в данном меню выбран пункт «25%».
Изменение тона
Всплывающая подсказка: Установить речевые подтверждения для изменения высоты тона во время ввода текста с клавиатуры
Опция, отвечающая за дополнительную индикацию посредством изменения тембра голоса. При её активации, Galaxy TalkBack будет прочитывать выделенный форматированием текст более низким голосом, а вводимые символы более высоким, если используемый синтезатор речи поддерживает изменение высоты.
Как правило, выделенным текстом являются кликабельные элементы, например, подчёркиваемые или подсвечиваемые ссылки и номера телефонов в теле сообщений, но ими также могут быть выделенные надписи в меню программ.
По умолчанию данный переключатель активирован.
Отклик клавиатуры
Эта настройка позволяет задать эхо клавиатуры, то есть то, как Galaxy TalkBack будет озвучивать события нажатия клавиш на клавиатурах ввода.
При нажатии открывается список для выбора способа озвучивания нажатия кнопок. Доступны следующие варианты:
По умолчанию в данном меню выбран пункт «Всегда озвучивать ввод с клавиатуры».
Говорить при выключенном экране
Всплывающая подсказка: Разрешить голосовую обратную связь даже когда экран выключен
Данная настройка отвечает за то, будет ли Galaxy TalkBack произносить информацию при отключённом экране, например, прочитывать появляющиеся уведомления.
По умолчанию данный переключатель не активирован.
Бесконтактный датчик
Всплывающая подсказка: Выключать звук голосового отклика при накрытии бесконтактного датчика
Данная настройка отвечает за включение и отключение способа быстрого прерывания речи Galaxy TalkBack посредством срабатывания датчика расстояния. Срабатывание датчика разово прерывает речь, аналогично клавише Control на персональных компьютерах при использовании JAWS, NVDA, VoiceOver, Orca и пр.
Датчик расстояния (или датчик приближения), как правило, располагается на передней панели аппарата ближе к динамику, предназначенному для телефонного разговора. Базовый сценарий использования данной функции Galaxy TalkBack представляет собой проведение рукой перед датчиком, когда требуется прервать речь.
В некоторых дешёвых устройствах датчик приближения может отсутствовать, поэтому на таких устройствах изменение данной настройки не будет приводить ни к каким изменениям в работе Galaxy TalkBack.
По умолчанию данный переключатель активирован.
Читать после встряхивания
Данная функция активирует возможность запускать чтение всего содержимого экрана посредством встряхивания устройства. Для её работы требуется наличие в нём акселерометра.
При нажатии открывается список вариантов, в котором доступны следующие пункты:
К сожалению, качество русского перевода данной части интерфейса оставляет желать много лучшего. Тем не менее, нетрудно понять, что первый вариант полностью отключает данную функцию, а последующие задают с постепенным повышением силу необходимой встряски устройства для запуска чтения экрана.
По умолчанию в данном меню выбран пункт «Отключено».
Группа настроек «Другие отзывы»
Обратная связь
Функция обеспечивает виброотклик, который дополняет речь при навигации по объектам и взаимодействии с ними, а также при совершении некоторых других управляющих действий.
Включение данной опции, в том числе, позволяет и тактильно распознать объекты на экране, снизив необходимость звуковой обратной связи. Тем не менее, если подобное поведение программы неудобно пользователю, то деактивацией данного переключателя виброотклик можно отключить.
По умолчанию данный переключатель активирован.
Звуковая обратная связь
Функция обеспечивает звуковую индикацию, которая дополняет речь при навигации по объектам и взаимодействии с ними, а также при совершении некоторых других управляющих действий.
Включение данной опции позволяет получать дополнительную информацию о происходящих на экране событиях, например, о прокручивании содержимого экрана и о примерном местоположении в прокручиваемом списке за счёт звуковых сигналов разной высоты. Тем не менее, если подобное поведение программы неудобно пользователю, то деактивацией данного переключателя дополнительные звуки можно отключить.
По умолчанию данный переключатель активирован.
Фокус на аудиовосприятие речи
Всплывающая подсказка: Уменьшать громкость другого аудио в приложениях, пока Galaxy TalkBack читает текст
Данная функция призвана автоматически приглушать звук других приложений во время речи Galaxy TalkBack, чтобы пользователь мог расслышать произносимую программой экранного доступа информацию. Однако для её корректной работы используемое приложение должно поддерживать приглушение звука при потере аудиофокуса, что далеко не всегда реализуется разработчиками программ, поэтому даже при активации этого флажка в отдельных приложениях звук во время речи программы экранного доступа может не приглушаться.
Также следует отметить, что включение данной настройки может приводить к конфликту Galaxy TalkBack с другими приложениями, использующими звук и микрофон, что проявляется в их некорректной работе. Например, при активации этого флажка в некоторых ситуациях может перестать работать голосовой ввод.
По умолчанию данный переключатель не активирован.
Громкость звуковой обратной связи
Данная настройка отвечает за громкость звуковых сигналов, включающихся активацией переключателя «Звуковая обратная связь». Не стоит путать её с настройкой «Громкость речи», она отвечает только за дополнительные сигналы, а к громкости синтезатора речи отношения не имеет.
При нажатии открывается список для выбора уровня громкости звуковых сигналов Galaxy TalkBack. Доступны следующие варианты:
Первый вариант обеспечивает громкость звуковых сигналов на уровне общей громкости звука в системе, а последующие пропорционально снижают громкость сигналов Galaxy TalkBack относительно системной громкости.
По умолчанию в данном меню выбран пункт «Настройка громкости звука».
Группа настроек «Отклики на прикосновение»
Выбор одним касанием
Всплывающая подсказка: Для выбора элементов касайтесь их всего один раз после прослушивания описания TalkBack, не нажимайте на них дважды
Данная функция позволяет ускорить сенсорное взаимодействие с экраном, обеспечивая возможность активировать элементы не двумя, а всего лишь одним касанием. При её активации пользователь сможет сфокусироваться на элементе в режиме изучения касанием, а затем коснувшись в месте его реального расположения всего лишь один раз, активировать данный элемент.
Важно отметить, что активация одним касанием происходит только тогда, когда объект во-первых находится в фокусе доступности, а во-вторых, касание осуществляется именно в том месте экрана, где расположен данный управляющий элемент. Если объект не был предварительно помещён в фокус или касание осуществляется в любом другом месте экрана, то активации управляющего элемента не произойдёт и надо будет использовать стандартный вариант с двойным касанием.
Кроме того, в проекте оригинального TalkBack, на чьей кодовой базе преимущественно и основывается Galaxy TalkBack, данная функция имеет статус экспериментальной.
По умолчанию данный переключатель не активирован.
Обр.связь кноп.Назад/Посл
Всплывающая подсказка: Нажмите на кнопку “Назад” или “Последнее”, чтобы прослушать название клавиши. Дважды нажмите на нее для использования
Данная настройка определяет то, как будут обрабатываться нажатия на сенсорные клавиши Назад (Back) и Последние приложения (Recent apps) (кнопка Домой (Home) на устройствах Samsung традиционно имеет аппаратное исполнение). Активация этой опции приведёт к тому, что сенсорные кнопки надо будет активировать двойным касанием, так как при одном касании они не будут срабатывать, а будут только произноситься их названия. Если же эта опция не активирована, то сенсорные кнопки будут срабатывать при первом же касании, привычным для устройств Samsung образом.
По умолчанию данный Переключатель не активирован.
Уведомления в строке информации
Всплывающая подсказка: Выберите, какая информация будет прочитываться, когда вы коснетись строки информации, например, время и дата, уровень сигнала устройства, подключения Wi-Fi и Bluetooth, заряд аккумулятора.
Данная настройка позволяет настроить ту информацию, которая будет прочитываться при тройном касании двумя пальцами. При нажатии на этот пункт открывается список флажков, в котором можно отметить интересующие блоки информации. Доступны следующие варианты:
По умолчанию отмечены флажки «Время», «Аккумулятор», «Уровень сигнала» и «Пропущенные события».
Группа настроек «Прочее»
Параметры разработчика
Данный пункт раскрывает меню параметров для разработчиков, которые не представляют практического интереса для обычных пользователей. В нём размещаются специализированные настройки, использующиеся при отладке самой программы Galaxy TalkBack, а также при тестировании доступности приложений на OS Android зрячими людьми.
Уровень заполнения журнала
При нажатии открывается список для выбора уровня детализации диагностических записей в журнал Galaxy TalkBack. Доступны следующие варианты:
Варианты идут в порядке увеличения сверху вниз детализации диагностических записей логов.
По умолчанию в данном меню выбран пункт «ERROR», то есть фиксация только ошибок.
Показывать слова синтезатора речи на экране
Данная функция позволяет вывести на экран панель, в которой будет в виде текстовой строки отображаться всё то, что произносит Galaxy TalkBack посредством синтеза речи. Она ориентирована на зрячих тестировщиков Galaxy TalkBack, а также доступности интерфейсов других приложений, для которых восприятие фраз программы экранного доступа на слух неудобно. Более того, при её использовании наличие синтезатора речи в принципе не обязательно.
Текстовая панель выводится в виде узкой полоски около нижнего края экрана и никак не влияет на невизуальную работу, в том числе не фокусируется самим Galaxy TalkBack.
По умолчанию данный Переключатель не активирован.
Все о функциях разработчика в вашем телефоне
Константин Иванов
Настройки, которые используются для отладки и для разработки приложений, спрятаны в вашем телефоне – спрятаны в прямом смысле слова. Многие из нас идут в соответствующий раздел меню, чтобы запустить отладку USB или переключиться к рабочему модулю ART, но кроме этого, здесь имеется целый список настроек. Большая часть никогда вам не понадобится, но разве не интересно узнать, что скрывается в недрах вашего устройства?
«Разблокируем» функции разработчика в телефоне
Как говорилось выше, эти функции изначально скрыты. Это имеет смысл, поскольку найти их просто, а большинству людей они попросту не нужны. Для того, чтобы добраться до них, идем в раздел «Об устройстве» и ищем там пункт «Номер сборки». После пяти быстрых тапов появляется диалоговое окно – теперь устройство считает вас разработчиком. Только попробуйте ничего не испортить, ладно? Ну, или делайте что хотите – тоже вариант. Так или иначе, возможность заставить ваш телефон перестать работать всегда имеется.
А теперь посмотрим на предложенные функции повнимательнее.
Настройки
Понятно, что большинству пользователей все эти настройки ни на что не сдались. Кроме того, лезть туда и нажимать на пункты меню ради самого процесса — не лучшая идея. Но всегда стоит знать, что вообще можно сделать, хотя бы и просто для того, чтобы не делать этого никогда.
Надеемся, что наш рассказ просветил вас немного по вопросу этих настроек и опций, записанных непонятными словами. Кстати, в зависимости от выбранного языка системы, производителя и версии ОС Android, набор пунктов может несколько отличаться разделами и их названиями.
Уровни журнала Android
Android поддерживает различные уровни журналов, Verbose, Debug, Info, Warn и Error. Я понимаю, как работают уровни ведения журнала; Меня больше интересует типичный результат, ожидаемый для заданного уровня.
Например, при разработке приложения мне может быть любопытно, когда какой-то метод что-то делает (это часто бывает для целей отладки). Я просмотрю журналы, чтобы убедиться, что методы вызываются в ожидаемом порядке, если сетевой ответ – это то, что, как я думаю, должно быть, если парсеры найдут нужную информацию и т. Д.
Почему кто-то использует Verbose vs Debug vs Info?
С точки зрения разработчика, для первого, второго или стороннего приложения не все журналы для целей отладки? (Предполагая, что разработчики не смотрят журналы для удовольствия … Я не такой садистский)
С точки зрения потребителя, когда s *** попадает в вентилятор, и им необходимо обратиться в службу поддержки клиентов, потому что их супер важное / деловое приложение не работает, разработчик использует журнал для целей отладки.
Единственная причина, по которой я мог видеть использование подробностей или информации, – это, вероятно, операции сбора данных / хранилища данных. Если да, зачем использовать verbose vs info.
Не уверен. Если я злоупотребляю этим или если инфраструктура андроида …
Я в основном следую тому, что должен сказать Томаш Нуркевич при рассмотрении уровня ведения журнала:
ОШИБКА – случилось что-то ужасное, что нужно немедленно расследовать. Никакая система не может переносить элементы, зарегистрированные на этом уровне. Пример: NPE, недоступная база данных, критически важный случай использования не может быть продолжен.
WARN – процесс может быть продолжен, но проявляйте особую осторожность. Пример: «Приложение, запущенное в режиме разработки» или «Консоль администрирования не защищена паролем». Приложение может переносить предупреждающие сообщения, но они всегда должны быть оправданы и проверены.
INFO – Важный бизнес-процесс завершен. В идеальном мире администратор или продвинутый пользователь должен понимать сообщения INFO и быстро узнать, что делает приложение. Например, если заявка касается бронирования авиабилетов, в каждом билете должно быть только одно заявление INFO, в котором говорится: «[Кто] забронировал билет с [Где] до [Где]». Другое определение сообщения INFO: каждое действие значительно изменяет состояние приложения (обновление базы данных, внешний системный запрос).
VERBOSE – очень подробная информация, предназначенная только для разработки. Вы можете сохранять сообщения трассировки в течение короткого периода времени после развертывания в рабочей среде, но относить эти операторы журнала как временные, которые должны или могут быть отключены в конечном итоге. Различие между DEBUG и VERBOSE является наиболее сложным, но если вы поместите инструкцию регистрации и удалите ее после того, как функция была разработана и протестирована, она, вероятно, должна быть на уровне VERBOSE.
Мой самый любимый уровень – WTF (2.2+), который, как предполагается, будет означать «Какая ужасная неудача», для ситуаций, которые никогда не должны происходить.
Обычно я использую «информацию» для простых сообщений.
Уровни ведения журнала для Android
у меня возникли некоторые трудности с настройкой ведения журнала Android. Вот как выглядит мой код:
довольно просто, не так ли?
, у меня совсем немного труда получить Log.isLoggable(«MY_TAG», Log.VERBOSE) возвращает true.
Per http://developer.android.com/reference/android/util/Log.html, я попытался Добавить локальный.файл prop в каталог /data/, который выглядит следующим образом:
но не повезло. Я тоже попробовал:
но это не сработало.
любые идеи о том, что я делаю неправильно здесь? Я запускаю Android 2.1-update1 на Nexus 1, если это имеет значение.
3 ответов
кажется, что более поздние версии Андроид /data/local.prop для записи только root. The adb push команда, по-видимому, изначально создает файлы с предоставлением каждому доступа для чтения/записи (потому что маска файла по умолчанию 777 ). Андроид, мудро, игнорирует /data/local.prop так как это может быть угрозой безопасности.
я экспериментировал только с Android 2.3.3, и 4.1.2. У первого нет проблем с чтением a local.prop это мир, доступный для записи, в то время как последний, кажется, молча игнорировать содержимое файла.
создание local.prop файл, как описано в исходном вопросе:
а затем, нажав его на устройство следующим образом, кажется, делает трюк:
вы можете дважды проверьте, чтобы убедиться, что значения в local.prop читали исполнитель:
используя adb shell setprop log.tag.MyAppTag VERBOSE также работать. Проблема в том, что значения свойств теряются после перезагрузки.
важная цель-не отправлять производственное приложение с тонной вызовов журнала, оставшихся в нем, увеличивая его размер и даже, возможно, даже влияя на его производительность.
для этого я рекомендую поместить эти константы в начало каждого класса, который будет иметь вызовы журнала:
теперь, где вы входите, сделайте это:
включите журналы, изменив DEBUG постоянное значение true. (Если вы хотите, вы могли бы иметь один класс с этими статика для всего кода вашего приложения. Это имеет смысл для небольшого приложения, но по мере того, как все становится большим, приятно решить, какие части включить вход в систему.)
это подход, который принимает много рамок Android. Например,ManagerService Активность.
это имеет эти константы вверху, и различные строки журнала, разбросанные по всему на их основе. (И куча других констант суб-отладки для различных аспектов этого, так как этот файл смехотворно глупо велик.)