Android Studio 日志输出行数的最大限制

33

我正在使用连接到Android Studio的真实设备进行测试。由于我不想中断多线程行为,因此我已经在我的代码中添加了大量日志语句来找出发生了什么。在logcat中,我看到了这些语句,目前为止还不错。

完整测试后,我发现我的日志开头丢失了!对我来说似乎Android Studio会在日志即将变得太大时删除最早的日志行。由于我想在测试运行之后检索整个日志文件(以便我可以同时做其他事情),我想增加Android Studio保留的日志行数。

你知道我可以在哪里调整logcat存储的最大行数吗?我希望/祈祷/假设有这样一个参数,因为我还没有找到它...

7个回答

51

如果有其他人想要在2017年3月之后更改此设置,我想对这个问题进行更新。

最新版本的Android Studio 2.3现在在“设置/首选项”中提供了一个选项来更改循环logcat缓冲区的大小。

转到设置/首选项 > 编辑器 > 常规 > 控制台并启用覆盖控制台周期缓冲区大小(1024KB)选项。启用此设置后,您可以输入以千字节为单位的值作为logcat缓冲区。

如果Google添加了“logcat”这个词,那么就更好了,因为除非您专门输入“控制台”或“循环”等内容,否则无法在首选项搜索中找到它。

编辑:Google现在已将此问题分配给开发人员。它应该很快被实现,并且我会在其完成后更新此答案。

编辑2:根据Google的说法,他们现在在Dolphin Canary 6 release中添加了logcat缓冲区的设置,问题现在已被标记为已修复。


顺便提一下,我已向Android Studio团队提交了一个功能请求,请求在搜索应用程序的设置/首选项时,将“logcat”关键字带入此设置。将“logcat”关键字添加到设置搜索中 - BobbyMick
6
这不会增加每个 log.i(...) 输出的长度。它保持相同的长度,在我的情况下被截断。 - Beezer
2
经过4年多的时间,仍然没有添加“logcat”。 - doctorram
1
谷歌现在已经将这个问题分配给了一位开发者。它应该很快得到实现,当它实现时我会更新这个答案。 - JDenais
这并没有增加我的logcat的字符限制,而是通过迭代将输出分成较小的块来解决。由于这个改变的副作用,我的Studio突然停止了解析导入/依赖项。 :( - mehul bisht

23

1
@Aster Android Studio基于IDEA IDE,因此它与之相同。您可以在Android Studio\bin\idea.properties中找到它。 - zzy
1
今天我使用 Android Studio v.1.3.1,这个方法适用于我。我设置了: idea.cycle.buffer.size=50000 - yvolk
@zzy 我正在使用Android Studio 1.3.2,我尝试了 idea.cycle.buffer.size=50000 和 dea.cycle.buffer.size=disable 但是对我没有起作用,还有其他的方法吗? - Error
@zzy 抱歉,我在 idea.properties 文本文件中搜索了 idea.exe.vmoptions,但没有找到。它应该在哪里? - Error
@错误,我的意思是idea.exe.vmoptions是文件名。 - zzy
显示剩余12条评论

14

像@zzy所说的那样...编辑文件:PATH_TO_ANDROID_STUDIO\bin\idea.properties

这里是您可以在自己的idea.properties文件中自定义的属性:http://tools.android.com/tech-docs/configuration

#---------------------------------------------------------------------
# This option controls console cyclic buffer: keeps the console output size not higher than the specified buffer size (Kb).
# Older lines are deleted. In order to disable cycle buffer use idea.cycle.buffer.size=disabled
#---------------------------------------------------------------------
idea.cycle.buffer.size=1024

将上述值修改为2048或您需要的任何值。


13

进入 文件 -> 设置 -> 编辑器 -> 通用 -> 控制台,勾选覆盖控制台循环缓冲区大小,并将其设置为20399 KB(这实际上是最大值)。然后最后重新启动您的 IDE。

输入图像说明


4
你可以在终端中启动logcat: developer.android.com/tools/help/adb.html#logcat
[adb] logcat [option] ... [filter-spec] ... 

将其导出到txt文件中。 win
PATH\TO\YOUR\ADB\ adb.exe logcat > log.txt

or

linux

PATH\TO\YOUR\ADB\ adb logcat| tee log.txt 

我想在Android Studio中完成这个任务,而不是在命令行中。但是我还是尝试使用命令行来完成,但我无法找到如何按我的应用程序包名称进行过滤的方法。我本以为这会起作用,但它没有:code [adb] logcat <package_name>:V > log.txt code - Aster

2

0

您可以在工具 > Logcat下找到更改logcat缓冲区大小的设置。在这里,您可以将缓冲区设置为任何您想要的大小。

enter image description here


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