【问题标题】:Is there any way to view the log messages from our own application in android?有什么方法可以在android中查看我们自己的应用程序的日志消息?
【发布时间】:2011-08-13 21:35:43
【问题描述】:

我开发了一个执行某些网络活动的 Android 应用程序。在类中,我实现了详细、调试、信息、警告和错误等日志消息。但是当我使用参数 -d 打开 logcat 时,它会列出来自设备的整个日志消息。因此很难跟踪我的应用程序的日志消息。有没有办法从整个 logcat 输出中过滤我的应用程序的日志消息?

【问题讨论】:

    标签: android logcat


    【解决方案1】:

    每条 Android 日志消息都有一个标签和与之关联的优先级:

    The tag of a log message is a short string indicating the system
    component from which the message originates (for example, "View" 
    for the view system).
    
    The priority is one of the following character values, ordered 
    from lowest to highest priority:
    
    V — Verbose (lowest priority)
    D — Debug
    I — Info
    W — Warning
    E — Error
    F — Fatal
    S — Silent (highest priority, on which nothing is ever printed)
    

    操作方法如下:

     adb logcat ActivityManager:I MyApp:D *:S
    

    如果带有“信息”级别或更高级别(警告、错误、致命)的日志带有 ActivityManager 标签,则会显示这些日志。这同样适用于带有标签 MyApp 且优先级为 Debug 或更高的消息。 *:S 使所有其他消息保持沉默。

    在文档中查看:http://developer.android.com/guide/developing/tools/adb.html#logcat

    更多提示

    • 我建议您将所有其他日志保持在错误或警告级别 (*:W)。有时,由于某些系统事件或第三方应用程序,您的应用程序出现问题,而您确实希望收到这些事件的通知!

    • 您可能想要更改 logcat 的输出格式。尝试使用这些设置(上面相同链接中的信息)

    • 您可能想查看 Coloured output 的 logcat。我已经对该脚本进行了一些修改,以更好地满足我的需要,所以也许你也可以调整它。 (我试图将我的修改发送给作者,但他没有回复)。

    【讨论】:

      【解决方案2】:

      Logcat 有一个小的 + 按钮,可让您创建过滤器。使用您在应用程序中使用的 TAG 并在过滤器中指定它。这将创建一个仅显示您的应用程序消息的新选项卡。 当您使用它时,我建议为 AndroidRuntime 标签创建一个过滤器。你所有的异常都会被丢弃在那里,你可以很容易地找到它们。

      当然,您可以使用同一栏中的按钮按类别更多地过滤这些消息(详细、警告、错误、..)

      【讨论】:

      • 感谢您的建议。它在日食中工作正常。在命令提示符下有什么办法吗?
      • 应该可以,但我从不在命令行上这样做,所以我没有太多经验。在 linux/unix 上,你可能会依赖像 grep 这样的工具。或者看看“过滤日志输出”下的developer.android.com/guide/developing/tools/adb.html
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多