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