在 IntelliJ 上,我正在尝试读取 logcat 以查找错误。
问题是所有应用程序的日志都存在于“Android”窗口中。
如何只显示相关的日志?
我不是在寻找标签,因为我想查看异常抛出、来自 JNI 的 Segfaults 等。
谢谢 !
在 IntelliJ 上,我正在尝试读取 logcat 以查找错误。
问题是所有应用程序的日志都存在于“Android”窗口中。
如何只显示相关的日志?
我不是在寻找标签,因为我想查看异常抛出、来自 JNI 的 Segfaults 等。
谢谢 !
基于应用程序(包)的过滤在 IntelliJ IDEA(当前版本:12)中不可用。
编辑:水平线以上的一切都是我的新答案(更新于 13 年 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);
}
}
您可以按进程 ID (PID) 进行过滤:
唯一的缺点是 PID 会发生变化,您必须在每次应用重新启动后调整过滤器。
取决于你想要做什么。在 logcat 窗口中,您应该有一个名为“Filters”的 [non]empty 窗口,旁边有一个+
或-
(如 IntelliJ IDEA 12 中所示),它会弹出一个如下窗口:
如果日志标签不是您需要的,您可以根据日志消息本身中的正则表达式进行过滤(例如,如果消息始终以 开头seek error
,则输入seek
并且它应该找到它。如果您将日志级别设置为详细,它应该匹配写入 logcat 的任何内容。