Ответ 1
Вы можете фильтровать по идентификатору процесса (PID):
Единственным недостатком является то, что PID изменяется, и вам придется настраивать фильтр после перезапуска каждого приложения.
В IntelliJ я пытаюсь прочитать logcat для поиска ошибок.
Проблема в том, что все журналы приложений присутствуют в окне Android.
Как отображать только релевантный журнал?
Я не ищу теги, так как я хочу просматривать Exception throws, Segfaults из JNI и т.д.
Спасибо!
Вы можете фильтровать по идентификатору процесса (PID):
Единственным недостатком является то, что PID изменяется, и вам придется настраивать фильтр после перезапуска каждого приложения.
Фильтрация на основе приложения (пакета) недоступна в IntelliJ IDEA (текущая версия: 12).
РЕДАКТОР: Все, что выше горизонтального правила, является моим новым ответом (обновлено 5/17/13):
Я бы предложил перейти к новой Android Studio IDE (которая основана на IntelliJ). Это позволяет фильтровать по имени пакета.
Вы можете проголосовать за функцию, которая будет добавлена здесь: http://youtrack.jetbrains.com/issue/IDEA-95780
Тем временем вы можете подумать об упаковке класса Android Log, чтобы добавить суффикс/префикс, который вы могли бы фильтровать. Что-то вроде следующего:
/**
* Wrapper for the Android {@link Log} class.
* <br><br>
* The primary reason for doing this is to add a unique prefix to all tags for easier filtering
* in IntelliJ IDEA (since in v12 there is no way to filter by application).
*
* @author gloesch
*/
public class Logger {
private static final String FILTER = "(MY APP) ";
public static void d(String tag, String message) {
Log.d(tag.concat(FILTER), message);
}
public static void i(String tag, String message) {
Log.i(tag.concat(FILTER), message);
}
public static void v(String tag, String message) {
Log.v(tag.concat(FILTER), message);
}
public static void e(String tag, String message) {
Log.e(tag.concat(FILTER), message);
}
public static void w(String tag, String message) {
Log.w(tag.concat(FILTER), message);
}
public static void wtf(String tag, String message) {
Log.wtf(tag.concat(FILTER), message);
}
}
В зависимости от того, что вы пытаетесь сделать. В окне logcat у вас должно быть [не] пустое окно с именем "Фильтры" с +
или -
рядом с ним (как показано в IntelliJ IDEA 12), и оно выведет окно следующим образом:
Если тег журнала не является тем, что вам нужно, вы можете фильтровать на основе регулярного выражения в самом сообщении журнала (например, если сообщение всегда начинается с seek error
, тогда введите seek
, и он должен его найти. вы устанавливаете Log Level в Verbose, он должен соответствовать всем, что записывается в logcat.