如何将LogCat内容保存到文件?

时间:2011-11-25 03:43:37

标签: android android-emulator eclipse-plugin android-logcat

我添加了调试字符串(使用Log.d()),并希望从logCat的内容中查看它们。 LogCat的“保存”图标有一个“保存选定的项目”提示,但必须有一个快速的方法来保存整个内容,或选择整个内容,但我不知道如何做到这一点。

10 个答案:

答案 0 :(得分:38)

要将Log cat内容保存到文件,您需要重定向到android sdk的platform tools文件夹并点击以下命令

adb logcat > logcat.txt

将在platform-tools文件夹中创建名为“logcat.txt”的文件。您可以根据自己的兴趣更改名称。享受

答案 1 :(得分:18)

你没有得到你想要的答案,是吗。

两种方法可以做你想做的事: 1)右键单击logcat消息窗口,选择全选。然后你的保存将是该窗口中的所有logcat消息(包括那些滚动出视图的消息) 2)当焦点在logcat消息窗口中时,键入control-A,这将选择所有消息。然后保存等等。

答案 2 :(得分:16)

要在设备上以编程方式将LogCat日志保存到文件,请使用以下代码:

String filePath = Environment.getExternalStorageDirectory() + "/logcat.txt";
Runtime.getRuntime().exec(new String[]{"logcat", "-f", filepath, "MyAppTAG:V", "*:S"});

"MyAppTAG:V"将所有标记的优先级设置为详细(最低优先级)

"*:S"将所有代码的优先级设置为“无声”

有关logcat here的更多信息。

答案 3 :(得分:9)

除了Dinesh Prajapati回答,请使用

 adb -d logcat <your package name>:<log level>

其中-d用于设备,您也可以选择-e代替模拟器日志,日志级别为a/d/i/v/e/w等。

现在您的命令如下:

adb -d logcat com.example.example:V > logfileName_WithPath.txt

答案 4 :(得分:3)

使用-d-f切换和logcat方法使用exec()工具。

答案 5 :(得分:2)

String filePath = folder.getAbsolutePath()+ "/logcat.txt"; 
Runtime.getRuntime().exec(new String[]{"logcat", "-f", filePath, "MyAppTAG:V", "*:E"});

答案 6 :(得分:1)

如果您在设备的控制台窗口中并且使用Teraterm,则从菜单执行文件|记录它会自动保存到文件。

答案 7 :(得分:1)

程序化方法的附加提示:

String filePath = Environment.getExternalStorageDirectory() + "/logcat.txt";
Runtime.getRuntime().exec(new String[]{"logcat", "-f", filepath, "MyAppTAG:V", "*:S"});

这将在logcat和提供的文件之间打开一个连续的输出流。如果然后等待exec返回的进程,则会导致死锁,如果提供的文件过早处理,则会导致异常。

我发现包括&#34; -d&#34; flag只是转储logcat并关闭连接,这会阻止上述行为。

答案 8 :(得分:1)

如果您只希望过去半小时显示的日志带有时间戳,或者在另一个设定时间内,则需要额外提示。调整日期格式以匹配您的系统。这个适用于Ubuntu 16.04LTS:

adb shell logcat -d -v time -t "$(date '+%m-%d %H:%M:%S.%3N' -d '30 minutes ago')" > log_name.log

答案 9 :(得分:1)

在 logcat 窗口中单击(甚至在日志上)。其次是“Ctrl + A”(全选)。然后“用鼠标右键单击”或“Ctrl + C”(复制)。然后使用您喜欢的任何编辑器将其粘贴到您喜欢的任何位置。 还可以在与我们相关的日志出现之前(在我们开始测试用例之前)删除 logcat 输出,以仅获取 logcat 中的相关日志。