在IntelliJ上,我正在尝试读取logcat以寻找错误。
问题是所有应用程序的日志都出现在“Android”窗口中。
如何仅显示相关的日志?
我不是在寻找标签因为我想查看Exception throws,来自JNI的Segfaults等等。
谢谢!
答案 0 :(得分:5)
IntelliJ IDEA(当前版本:12)中没有基于应用程序(包)的过滤。
答案 1 :(得分:4)
编辑:水平线以上的所有内容都是我的新答案(2013年5月17日更新):
我建议转到新的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);
}
}
答案 2 :(得分:1)
您可以按进程ID(PID)进行筛选:
唯一的缺点是PID会发生变化,您必须在每次重启应用程序后调整过滤器。
答案 3 :(得分:0)
取决于你想要做什么。在logcat窗口中,你应该有一个名为“Filters”的[非]空窗口,旁边有+
或-
(因为它出现在IntelliJ IDEA 12中),它会弹出一个像这样的窗口:
如果日志标记不是您需要的,您可以根据日志消息本身的正则表达式进行过滤(例如,如果消息始终以seek error
开头,则输入seek
,它应该如果你将Log Level设置为Verbose,它应匹配任何写入logcat的东西。