【问题标题】:How to filter only my application log in IntelliJ's logcat? [duplicate]如何在 IntelliJ 的 logcat 中仅过滤我的应用程序日志? [复制]
【发布时间】:2012-09-15 10:00:57
【问题描述】:

在 IntelliJ 上,我正在尝试读取 logcat 以查找错误。

问题是所有应用程序的日志都出现在“Android”窗口中。

如何只显示相关的日志?

我不是在寻找标签,因为我想查看异常抛出、来自 JNI 的 Segfaults 等。

谢谢!

【问题讨论】:

标签: android intellij-idea logcat


【解决方案1】:

基于应用程序(包)的过滤在 IntelliJ IDEA(当前版本:12)中不可用。

【讨论】:

    【解决方案2】:

    编辑:水平线上方的所有内容都是我的新答案(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);
        }
    }
    

    【讨论】:

      【解决方案3】:

      您可以按进程 ID (PID) 进行过滤:

      唯一的缺点是 PID 会发生变化,您必须在每次应用重启后调整过滤器。

      【讨论】:

      • 如何获得 PID
      • @jAckOdE // 回答较晚,但对其他人有帮助,您可以在 Android DDMS 面板packagename (12334) 中看到数字,其中数字 12334 是 PID。反正调试的时候每次都配置PID过滤器太难受了。
      【解决方案4】:

      取决于你想要做什么。在 logcat 窗口中,您应该有一个名为“Filters”的 [非] 空窗口,旁边有一个 +-(如 IntelliJ IDEA 12 中所示),它会弹出一个如下窗口:

      如果日志标签不是您需要的,您可以根据日志消息本身中的正则表达式进行过滤(例如,如果消息始终以 seek error 开头,则输入 seek 应该会找到它。如果您将日志级别设置为详细,它应该与写入 logcat 的任何内容相匹配。

      【讨论】:

        猜你喜欢
        • 2013-01-28
        • 2022-01-09
        • 1970-01-01
        • 2020-02-26
        • 1970-01-01
        • 2023-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多