安卓桌面日志查看器

37

我的安卓应用程序可能会将logcat日志保存到文件中,然后将该日志文件发送给开发者进行分析。

是否有一款漂亮的桌面安卓日志查看器应用程序,可以可视化这些日志?

我在Android SDK中没有找到现成的工具。也许我错过了什么?


1
个人而言,我使用less和它的搜索功能来阅读日志,或者偶尔使用emacs,但这可能不是一个理想的精细解决方案。 - Chris Stratton
10个回答

34

我无法让这个工具读取我使用adb创建的日志(无论是“adb logcat -v long > somefile.log”还是“adb logcat > somefile.log”)。当我选择一个日志文件时,什么也不会发生。你是如何创建这些日志的? - user1772710
明白了,应该是“adb logcat -v time”。 - user1772710
没能在OS X(Maverick)或Windows 8.1上运行。不过照片很漂亮。 :/ - akauppi
在讨论版上,有关于如何在64位Windows上运行此程序的说明。虽然我们还没有开始做这件事,但你需要知道:a) 这是必须要做的;b) 它是可行的。 - akauppi
尽管它是Java编写的,但不幸的是它无法在我的Linux(Kubuntu 14.04,32位)上运行。当尝试启动时,它会以异常终止。 - Joe
显示剩余2条评论

14
我尝试了 logview-0.19, 对于我的13Mb日志文件可以正常工作。
在Linux中运行时,请确保将 ./logview 和 ./lib/logview.jar 标记为可执行。

2
似乎完成了工作。我感到惊讶的是,在这个工作领域中存在如此少的工具。我感觉到了一种渴望... :) - scorpiodawg
1
另一个离线工具 - Henrique de Sousa
这是我的最爱 ♥ - naXa stands with Ukraine
1
@HenriquedeSousa 你所说的“offline”是什么意思?使用logview可以从连接的设备中捕获实时日志,只需设置adb位置(如果后者不在PATH中)。 - Darth Beleg

5
我发现Online LogCat Beautifier可以为给定的LogCat着色以便于阅读。这是一个非常好的工具,并且它使用JavaScript,这意味着没有任何东西被存储在任何地方!

LogCat Beautifier in action

更新:

该链接已不可访问,但幸运的是,Android Studio现在支持将LogCat粘贴到其“LogCat”选项卡(以前是“Monitor”)。粘贴后,您可以像普通的LogCat日志一样搜索/点击。


1
这是一个用于分析“离线”logcat记录的工具。 - Henrique de Sousa
你还应该查看Android Studio的“分析堆栈跟踪”功能,方法是转到Analyze > Analyze stacktrace。请参阅此G+帖子https://plus.google.com/+IanLake/posts/jk4x5RoyXJm - Sufian
1
如果最后一条评论没有生成通知,请@HenriquedeSousa。 - Sufian

5

看起来很有前途,但只支持Mac =( - Dominikus K.
1
...再次强调,离线工具。 - Dave Nottage
1
如何使用此功能查看已连接设备的日志信息? - Siddharth
这个答案并没有明确说明如何使用软件来解决这个问题... - Gabriel Fair

3

你可以在没有Eclipse的情况下使用Android Debug Monitor或DDMS


1
仅做更新... DDMS现已被弃用,我们应该使用:sdk_path/tools/monitor。在OSX上,ddms无法保存我创建的某些自定义过滤器,而monitor可以。 - Paschalis
1
是的,那就是_Android Debug Monitor_,但是当我回答时并没有关于它的在线详细信息,而且它与DDMS非常相似。 - Jim McKeeth
在Windows上运行sdk_path/tools/monitor没有任何反应。 - zwcloud

3
我使用coloredlogcat在控制台上查看logcat日志。您应该也可以这样做。
cat logfile | coloredlogcat.py

它应该可以直接使用。如果不能,我相信只需要进行一些小的修改。 请查看此链接coloredlogcat了解详情。


1

个人而言,我喜欢TailExpert,它与logcatUDP一起使用,可以捕获多个Android目标的日志。logcatUDP将日志通过网络发送到tailexpert,我在那里捕获并并排查看。但是,如果您喜欢,也可以从文件中读取日志,它是一个tail程序,因此当日志消息到达时,它将将其添加到视图中。您可以按关键字过滤消息,并使用颜色标识特定的日志消息。我喜欢的另一件事是,在tailexpert中,您可以即时创建列格式化器,并轻松隐藏一个或多个列或更改列顺序。该程序功能齐全,最近我刚刚开始发现使用通知在飞行中放置书签并在某些日志消息通过时停止日志,这使得导航更加迅速。快去试试吧,您可以在这里下载它。


1

我喜欢LogExpert。它具有出色的过滤选项和较快的速度。因此,我创建了一个自定义的列解析器来解析LogCat日志。它有一些改进,可以解析我的自定义日志,包括方法和行号。你可以在这里下载它。


看起来又像是只有 Windows :-( - Joe
链接已经失效。这个链接应该是有效的:https://github.com/zarunbal/LogExpert - Bennik2000

1
我已经调整了log4j Chainsaw V2和(VFS)LogFilePatternReceiver,使得Chainsaw能够读取通过logcat -v time生成的Android日志文件中的事件。
下载最新的Chainsaw开发者快照(可用Mac DMG和tarball):http://people.apache.org/~sdeboy 将此XML文件保存为文件(在调整fileURL后)。
<?xml version="1.0" encoding="UTF-8"?>
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
<plugin class="org.apache.log4j.chainsaw.vfs.VFSLogFilePatternReceiver" name="android-log">
    <param name="appendNonMatches" value="true"/>
    <param name="autoReconnect" value="true"/>
    <param name="fileURL" value="file:/path/to/android/log"/>
    <param name="name" value="android-log"/>
    <param name="logFormat" value="TIMESTAMP LEVEL/LOGGER(PROP(PID)):MESSAGE"/> 
    <param name="customLevelDefinitions" value="V=TRACE,D=DEBUG,I=INFO,W=WARN,E=ERROR,F=FATAL,S=OFF"/>
    <param name="promptForUserInfo" value="false"/>
    <param name="tailing" value="true"/>
    <param name="timestampFormat" value="yyyyMMdd HH:mm:ss.SSS"/>
    <param name="waitMillis" value="2000"/>
</plugin>
</log4j:configuration>

在启动Chainsaw之后,从“文件,加载Chainsaw配置”菜单中选择“使用Chainsaw配置文件”选项,浏览到该XML文件,选择“始终使用此配置启动Chainsaw”并按下OK。

这在OS X上运行良好,解决了Eclipse logcat视图经常停止工作的问题。正是我所寻找的!我看到最新的稳定版本日期在您发布之后,所以我想知道现在是否可以使用它,而不是您建议的快照? - Dwight Gunning

-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接