我添加了调试字符串(使用 Log.d()),并希望在 logCat 内容的上下文中查看它们。 LogCat 的“保存”图标有一个“保存所选项目”提示,但必须有一种快速方法来保存整个内容,或选择整个内容,但我不知道该怎么做。
要将 Log cat 内容保存到文件中,您需要重定向到 android sdk 的平台工具文件夹并点击以下命令
adb logcat > logcat.txt
在 Android Studio 3.6RC1 版本中,将在相应的项目文件夹中创建名为“logcat.txt”的文件。您可以根据您的兴趣更改名称。享受
除了 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
有两种方法可以做你想做的事:
要将 LogCat 日志以编程方式保存到设备上的文件中,请使用以下代码:
String filePath = Environment.getExternalStorageDirectory() + "/logcat.txt";
Runtime.getRuntime().exec(new String[]{"logcat", "-f", filepath, "MyAppTAG:V", "*:S"});
"MyAppTAG:V"
将 MyAppTAG
的优先级设置为详细(最低优先级)
"*:S"
将所有标签的优先级设置为“静音”
有关 logcat 的更多信息这里。
打开命令提示符并找到 adb.exe(它将位于您的 android-sdk/platform-tools 中)
adb logcat -d > <path-where-you-want-to-save-file>/filename.txt
如果省略路径,它会将logcat保存在当前工作目录中
-d 选项表示您正在转储当前内容然后退出。 最好使用记事本++打开此文件,以便您可以以正确的可读格式获取所有内容。
如果您只想显示过去半小时内或其他设定时间内的日志(带时间戳),则需要额外提示。调整日期格式以匹配您的系统。这个可以在 Ubuntu 16.04LTS 上运行:
adb shell logcat -d -v time -t "$(date '+%m-%d %H:%M:%S.%3N' -d '30 minutes ago')" > log_name.log
String filePath = folder.getAbsolutePath()+ "/logcat.txt";
Runtime.getRuntime().exec(new String[]{"logcat", "-f", filePath, "MyAppTAG:V", "*:E"});
程序化方法的其他提示:
String filePath = Environment.getExternalStorageDirectory() + "/logcat.txt";
Runtime.getRuntime().exec(new String[]{"logcat", "-f", filepath, "MyAppTAG:V", "*:S"});
这将在 logcat 和提供的文件之间打开一个连续的输出流。如果您随后等待 exec 返回的进程,这可能会导致死锁,或者如果提供的文件被过早处置,则会导致异常。
我发现包含“-d”标志只会转储 logcat 并关闭连接,从而防止上述行为。
如果您位于设备的控制台窗口中并且使用 Teraterm,则从菜单中执行文件 |记录并自动保存到文件。
如果您使用的是 Mac 上的 Android Studio(我使用的是 Electric Eel | 2022.1.1),您可以在 Logcat 窗口(或运行窗口)中左键单击,然后按 Command-a 选择全部文本。然后您可以将其粘贴到您最喜欢的文本编辑器中并保存。
我通常将文件保存在设备内,步骤如下:
1. adb shell
2. cd /sdcard/ -> I go here since we have access to create and write files here
3. touch myDebugFile.txt -> create a .txt file named myDebugFile
4. logcat | grep "YourTag" > myDebugFile.txt -> this filters the logcat with "YourTag" and writes that to myDebugFile.txt
只要您不停止第 4 步,您就会将日志写入文件中。 完成测试后,您将退出“shell”,然后使用以下命令提取文件:
adb pull /sdcard/myDebugFile.txt
我们可以用一个命令简化步骤 1 到 4:
adb shell "cd /sdcard/ && touch myDebugFile.txt && logcat | grep "YourTag" > myDebugFile.txt"