Log файлы
При активном использовании программных продуктов в реальных условиях возникают ситуации, когда появляются ошибки или факторы, смущающие работу программы. При некоторых таких ситуациях выходят сообщения об ошибке, которая может быть откорректирована пользователями. В других случаях программа сама успевает решить возникшую проблему, и пользователь не замечает никакого изменения в функциях программы. Не смотря на то, что проблема решается, в таких случаях важно установить причину возникновения проблемы и найти решение.
Система сохранения ошибок
При возникновении ошибки, программные продукты Microinvest моментально сохраняют инженерную информацию о событии. Она записывается незаметно для пользователя в специальный дневник (так называемый Log файл). С помощью этого дневника можно установить, что именно нарушило работу продукта и предпринять соответствующее решение о проблеме.
Папка с Log файлами
Файлы с системными сообщениями сохраняются при настройке продукта, в специально созданной для данной цели папке. Для различных версий Windows папки следующие:
- Под Windows 10 папка C:\ProgramData\Microinvest\
- Под Windows 8.1 папка C:\ProgramData\Microinvest\
- Под Windows 8 папка C:\ProgramData\Microinvest\
- Под Windows 7 папка C:\ProgramData\Microinvest\
- Под Windows Vista папка C:\ProgramData\Microinvest\
- Под Windows XP папка C:\Documents and Settings\All Users\Application Data\Microinvest\
- Под Linux папка \home\$USER\.config\Microinvest
Логи по продуктам
Для каждого продукта своя система журналирования ошибок, которая пишет данные в отдельные места вышеуказанной папки:
- Microinvest Склад Pro (в версии 3.07.062 и выше): \Microinvest\Warehouse Pro\Error.Log
- Microinvest Склад Pro (в версии 3.07.061 и ниже): \Microinvest\Warehouse Pro\Microinvest Warehouse.exe.Log
- Microinvest Склад Pro Light: \Microinvest\Warehouse Pro Light\Logs\Error.log
- Microinvest Utility Center: \Microinvest\Utility Center\Logs\
- Microinvest Archi Pro: \Microinvest\Archi Pro\Microinvest Archi Pro.exe.Log
- Microinvest Barcode Printer Pro: \Microinvest\Barcode Printer Pro\Error.log
- Microinvest EGAIS Manager: \Microinvest\EGAIS\ErrorLog\Error.log
- Microinvest Pool Manager: \Microinvest\Pool Manager\Logs\Error.log
- Microinvest Order Assistant: \Microinvest\Order Assistant\Logs\Error.log
- Microinvest Nutrition Calculator: \Microinvest\Nutrition Calculator\Logs\Error.log
- Microinvest Smart Printer: \Microinvest\Device Test Tool\Logs\
- Microinvest Fitness: \Microinvest\Fitness\Logs\Error.log
Лог портмона
Для выявления проблем в коммуникации с оборудованием программных продуктов Microinvest Склад Pro или Microinvest Склад Pro Light используется специальный командный параметр /portmon, после запуска программы с данным параметром начинает писаться в файл вся коммуникация (включая COM и LAN) оборудования с нашими программами. Запустите программу с данным параметром, проведите продажу, сделайте z-отчет или другое действие которое приводит к ошибке или некорректному результату, запакуйте файл в архив и опубликуйте его в Вашей теме на форуме или отправьте техническим специалистам Microinvest с полным описанием проблемы. Данный файл будет находиться в директории:
- C:\ProgramData\Microinvest\Device Manager\Logs\PortMonitor.html
Противодействие ошибкам
Очень важно иметь правильное противодействие при возникающих ошибках. Для того, чтобы этого результата достичь, желательно скопировать Log файл, открыть его и проанализировать информацию внутри него. С помощью устранения причин, которые привели к возникновению таких ошибок, достигается значительно более стабильная работа продуктов, исключая возникновение опасности неожиданного срыва. Одновременно с этим, пренебрежение такими ошибками может довести до потери информации или до плохой работы продуктов.
Раннее предупреждение
Сделана специальная система для раннего оповещения о возможных проблемах. Обычно одна ошибка занимает определенное количество памяти в Log файле, и можно поставить лимит количества ошибок, которые возникают в системе. Когда индивидуальный Log файл вырастет до 500 KB, программа выдаст сообщение: «Внимание, необходима профилактика системы…». В этом случае рекомендуется следующая последовательность действий:
- Открывается папка Log файла;
- Сам Log файл копируется на другой носитель и, по возможности, отправляется техническим специалистам Microinvest;
- Открывается Log файл и анализируется его содержание. Ошибки классифицируются, если их количество более, чем одна;
- Предпринимаются шаги для ликвидации выявленных проблем;
- Log файл сохраняется в архиве и удаляется из папки. Это предотвратит появление сообщения об ошибке при старте программы.
Обобщение
Наличие Log файла означает нестабильную работу программы. Это возможно из-за программных ошибок, плохой конфигурации системы или нестабильности. Вся система отслеживания ошибок создана с целью предотвращения более серьезных проблем в работе продукта, а также является эффективным средством диагностики.
Некоторые полезные ресурсы
- Документация по всем продуктам;
- Форум технической поддержки Microinvest, где Вы сможете быстро получить ответ на интересующий вопрос;
- Примеры автоматизации ресторанов и торговли на базе Microinvest в России и странах СНГ;
- График предстоящих обучений в России и странах СНГ;
- Программы для автоматизации ресторанов и кафе бесплатные полнофункциональные демо-версии продуктов Microinvest для ресторанного бизнеса;
- Программы для автоматизации торговли и склада бесплатные полнофункциональные демо-версии продуктов Microinvest для магазинов;
- Автоматизация торговли под Linux;
- www.microinvest.tv Видеоуроки, обучения;
- Корпоративный блог — интересные события в мире Microinvest;
- Все статьи Базы Знаний;
- Скачать офф-лайн версию Базы Знаний на свой компьютер.
Как снять логи для 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 приложение.
- XCode — https://developer.apple.com/xc.
- Android Studio — https://developer.android.com/.
- iMazing — https://imazing.com/download
Что такое лог (log) программы.
Решая различные компьютерные задачи, можно не раз столкнуться с таким понятием как лог (с англ. log). Лог какой-то программы. Давайте попробуем разобраться что это такое и для чего это нужно.
Log (с англ. журнал). У большинства программ, которые установлены на вашем компьютере, есть этот самый журнал.
Журнал — это специальный текстовый файл, в который программа может вносить какие-то записи.
Т.е. это такой же обычный файл, который мы с вами можем создать на компьютере. Таким же образом программа работая на компьютере, может создать этот файл и вносить туда программным образом какие-то текстовые пометки.
Зачем же программе вести какие-то записи, какой-то журнал?
Дело в том, что если мы с вами будем следить за человеком, который работает на компьютере, мы можем сказать, что этот человек делал в конкретный момент времени, какие программы он запускал, какие ошибки он совершал при работе на компьютере и.т.д.
Но, если мы говорим о компьютерной программе, здесь все не так ясно. Все действия, которые производит программа, они скрыты от взгляда обычного пользователя. Они обычно происходят с такой большой скоростью событий, что человеческий глаз просто не успеет за все этим уследить.
Для того, чтобы отслеживать состояние какой-то программы. Что делала программа в какой-то конкретный момент времени, какие при этом возникали ошибки, кто с этой программой взаимодействовал и др. вопросы. Все события, которые происходили с этой программой, эта программа может записывать в специальный журнал, так называемый лог-файл.
Лог файлов для программы может быть несколько. В зависимости от назначения может быть так называемый access_log — это журнал, где фиксируются все взаимодействия пользователей с этой программой, что они делали и.т.д.
В лог файле может множество записей. Каждая текстовая строка — это одно взаимодействие с программой.
В каждой записи содержится информация о том, что происходило с программой и когда это происходило.
Также можно часто встретить так называемый error_log — это лог тех ошибок, которые возникали при работе с программой. В этом логе можно увидеть код ошибки, которая произошла в программе, когда эта ошибка произошла, каким пользователем операционной системы эта ошибка была вызвана и.т.д.
Давайте подведем итог, что такое лог и зачем он нужен. Это текстовый файл, в который программа записывает какие-то события, которые с ней происходят. Благодаря этим событиям мы можем получить какую-то дополнительную информацию, что происходило с этой программой в какой-то определенный момент времени, получить отладочную информацию, чтобы легче устранить какую-то ошибку.
В общем лог — это бесценная информация, который может воспользоваться любой пользователь компьютера, чтобы узнать что и в какой момент времени происходило с программой.
Лог — это первоисточник, в который нужно заглядывать если ваша программа работает с каким-то ошибками и не так, как нужно.
Надеюсь, что стало понятнее что такое лог-файл и зачем он нужен и вы теперь будете использовать этот журнал в своей работе.
Работа с журналами приложения в Visual Basic
Объекты My.Application.Log и My.Log упрощают запись сообщений и данных трассировки в журналы.
Как осуществляется регистрация сообщений
Сначала проверяется уровень серьезности сообщения с помощью свойства Switch свойства журнала TraceSource . По умолчанию только сообщения с уровнем серьезности «Информация» и более высоким передаются прослушивателям трассировки, определенным в коллекции TraceListener журнала. Затем каждый прослушиватель сравнивает серьезность сообщения со свойством Switch прослушивателя. Если уровень серьезности сообщения достаточно высокий, прослушиватель записывает сообщение.
На приведенной ниже схеме показан способ передачи сообщения, записанного методом WriteEntry , в методы WriteLine прослушивателей трассировки журнала.

Поведение журнала и прослушивателей трассировки можно изменить путем изменения файла конфигурации приложения. На приведенной ниже схеме показано соответствие между элементами журнала и файла конфигурации.

Куда записываются сообщения
Если сборка не имеет файла конфигурации, объекты My.Application.Log и My.Log записывают сообщения в вывод отладки приложения (с использованием класса DefaultTraceListener ). Кроме того, объект My.Application.Log записывает данные в файл журнала сборки (с использованием класса FileLogTraceListener), а объект My.Log записывает сообщения в вывод веб-страницы ASP.NET (с использованием класса WebPageTraceListener).
При работе с приложением в режиме отладки вывод отладки можно просматривать в окне Visual Studio Вывод. Чтобы открыть окно Вывод , выберите пункт меню Отладка , наведите указатель на пункт Окнаи выберите пункт Вывод. В окне Вывод выберите значение Отладка в поле Показать выходные данные из .
По умолчанию объект My.Application.Log записывает сообщения в файл журнала, расположенный по пути данных приложения пользователя. Путь можно получить из свойства FullLogFileName объекта DefaultFileLogWriter . Путь имеет следующий формат:
BasePath \ CompanyName \ ProductName \ ProductVersion
Стандартное значение для BasePath будет следующим.
C:\Documents and Settings\ username \Application Data
Значения параметров CompanyName , ProductName и ProductVersion берутся из сведений о сборке приложения. Имя файла журнала имеет следующий формат: AssemblyName.log, где AssemblyName — имя файла сборки без расширения. Если требуется несколько файлов журнала, например, когда исходный журнал недоступен при попытке записи в журнал, имя файла журнала имеет следующий формат: AssemblyName—iteration.log, где iteration — положительное целое число типа Integer .
Поведение по умолчанию можно переопределить путем добавления или изменения файлов конфигурации компьютера и приложения. Для получения дополнительной информации см. Walkthrough: Changing Where My.Application.Log Writes Information.
Настройка параметров журнала
Реализация объекта Log по умолчанию работает без файла конфигурации приложения app.config. Чтобы изменить значения по умолчанию, необходимо добавить файл конфигурации с новыми значениями параметров. Дополнительные сведения см. в разделе Walkthrough: Filtering My.Application.Log Output.
Разделы конфигурации журнала находятся в узле в основном узле файла app.config. Сведения журнала определены в нескольких узлах.
- Прослушиватели для объекта Log определены в узле с именем DefaultSource.
- Фильтр серьезности для объекта Log определен в узле с именем DefaultSwitch.
- Прослушиватели журнала определены в узле .
Примеры узлов , и показаны в приведенном ниже коде.
Изменение параметров журнала после развертывания
При разработке приложения его параметры конфигурации хранятся в файле app.config, как показано в приведенных выше примерах. После развертывания приложения настройку журнала можно по-прежнему выполнять с помощью файла конфигурации. В приложении Windows этот файл имеет имя имяПриложения.exe.config и должен находиться в той же папке, что и исполняемый файл. Для веб-приложения это файл Web.config, связанный с проектом.
Когда приложение выполняет код, который впервые создает экземпляр класса, выполняется проверка сведений об объекте в файле конфигурации. Для объекта Log это происходит при первом обращении к объекту Log . Система проверяет файл конфигурации только один раз для каждого отдельного объекта — при первом создании объекта в приложении. Таким образом, необходимо перезапустить приложение, чтобы изменения вступили в силу.
В развернутом приложении активация кода трассировки выполняется путем повторной настройки объектов переключателей до запуска приложения. Обычно это подразумевает включение и отключение объектов переключателей или изменение уровней трассировки, а затем перезапуск приложения.
Соображения безопасности
При записи данных в журнал необходимо учитывать указанные ниже моменты.
- Не допускайте утечки сведений о пользователе . Записывайте в журнал только одобренные сведения. Например, в журнале приложения могут содержаться имена пользователей, но не их пароли.
- Храните журнал в безопасном месте . Любой журнал, который может содержать конфиденциальные данные, должен храниться в безопасном месте.
- Не допускайте неправильных сведений . В общем случае приложение должно проверять все данные, введенные пользователем, перед их использованием. Это относится и к записи данных в журнал приложения.
- Не допускайте отказа в обслуживании . Если приложение записывает в журнал слишком много сведений, это может привести к переполнению журнала или усложнить поиск важной информации.
См. также раздел
- Microsoft.VisualBasic.Logging.Log
- Запись сведений в журнал из приложения
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.