Как сохранить содержимое LogCat в файл?
Я добавил строки отладки (используя Log.d ()) и хотите увидеть их в контексте из содержимого logCat. Значок " сохранить "для LogCat имеет подсказку" сохранить выбранные элементы", но должен быть быстрый способ просто сохранить все содержимое или выбрать все содержимое, но я не вижу, как это сделать.
10 ответов
вы не получаете ответа, который ищете, не так ли.
два способа сделать то, что вы хотите:
1) Щелкните правой кнопкой мыши в окне сообщения logcat, выберите Выбрать все. Тогда ваше сохранение будет все сообщения logcat в этом окне (включая те, которые прокручиваются вне поля зрения).
2) когда фокус находится в окне сообщений logcat, введите control-A, это выберет все сообщения. Потом сохранить и т. д. так далее.
чтобы сохранить содержимое журнала cat в файл, вам нужно перенаправить в папку инструментов платформы Android sdk и нажать следующую команду
adb logcat > logcat.txt
будет создан файл с именем " logcat.txt " в папке platform-tools. вы можете изменить имя в соответствии с вашими интересами. наслаждайтесь
чтобы сохранить журнал LogCat в файл программно на вашем устройстве, используйте, например, этот код:
String filePath = Environment.getExternalStorageDirectory() + "/logcat.txt";
Runtime.getRuntime().exec(new String[]{"logcat", "-f", filepath, "MyAppTAG:V", "*:S"});
"MyAppTAG:V"
устанавливает уровень приоритета для всех тегов в verbose (низший приоритет)
"*:S"
устанавливает уровень приоритета для всех тегов в "silent"
дополнительная информация о logcat здесь.
В дополнение к ответу на Динеш Праджапати используйте
adb -d logcat <your package name>:<log level>
где-d для устройства, и вы также можете выбрать-e вместо журнала эмулятора и уровень журнала a/d/i/v/e / w etc.
теперь ваша команда звучит так:
adb -d logcat com.example.example:V > logfileName_WithPath.txt
Откройте командную строку и найдите adb.exe (это будет в вашем Android-sdk / platform-tools)
adb logcat -d > <path-where-you-want-to-save-file>/filename.txt
Если вы опустите путь, он сохранит logcat в текущем рабочем каталоге
параметр-d указывает, что вы сбрасываете текущее содержимое, а затем выходите. Предпочитайте notepad++, чтобы открыть этот файл, чтобы вы могли получить все в правильном читаемом формате.
String filePath = folder.getAbsolutePath()+ "/logcat.txt";
Runtime.getRuntime().exec(new String[]{"logcat", "-f", filePath, "MyAppTAG:V", "*:E"});
Если вы находитесь в окне консоли для устройства и если вы используете Teraterm, то из меню сделайте файл | журнал и он автоматически сохранится в файл.
дополнительный совет для программного подхода:
String filePath = Environment.getExternalStorageDirectory() + "/logcat.txt";
Runtime.getRuntime().exec(new String[]{"logcat", "-f", filepath, "MyAppTAG:V", "*:S"});
это открывает непрерывный выходной поток между logcat и предоставленным файлом. Это может привести к взаимоблокировке, если вы ждете процесс, возвращенный exec, или исключение, если предоставленный файл преждевременно удален.
Я обнаружил, что в том числе флаг"- d " просто сбрасывает logcat и закрывает соединение, что предотвращает вышеуказанное поведение.
дополнительный совет, если вы хотите, чтобы журнал отображался только за последние полчаса с метками времени или в другое установленное время. Настройте формат даты в соответствии с вашей системой. Этот работает на Ubuntu 16.04 LTS:
adb shell logcat -d -v time -t "$(date '+%m-%d %H:%M:%S.%3N' -d '30 minutes ago')" > log_name.log