在 raspberry pi 上记录 python 错误
Logging python errors on raspberry pi
我正在调试我为我正在处理的嵌入式 raspberry pi 项目编写的 python 应用程序,因为它使用的是 TFT 屏幕而不是完整的显示器,并且没有 monitor/keyboard,所以我必须通过 TFT 桌面上的图标(非常小)启动 python 应用程序。我无法通过 SSH 启动该应用程序,因为它需要 X(由于 PyQT4),因此要在 RPi 上 运行ning,必须使用设备本身的桌面图标启动它。
桌面图标会启动一个 shell 脚本,该脚本使用以下内容:
sudo python appname.py >> logfile.log
但这不会写入它遇到的任何错误,它只会记录我在任何错误之前所做的任何事情。
如果我从 RPi 中取出 SD 卡并将其放入第二个 RPi 我已经连接到完整 mouse/keyboard/display,我可以 运行 python 应用程序并看到终端错误,但这并不能帮助我弄清楚完全组装的设备上发生了什么。
如何记录我通常会在终端中看到的错误?
编辑:当然我在应用程序中捕获错误,但我在 python 应用程序中发送 shell 命令可能是不会被捕获的问题python 中的 try/catch。当您启动 python 脚本时,我想捕获终端中的所有输出,而不管它的来源。
就目前而言,您只是在捕获标准输出。将您的调用修改为以下内容:
sudo python appname.py >> logfile.log 2>&1
这将同时重定向 stdout 和 stderr。
您还可以将 stderr 捕获到单独的文件中:
sudo python appname.py >> logfile.log 2>> error.log
只有错误你可以使用:
sudo python appname.py 2>> logfile.log
仅供 stdout
:
sudo python appname.py >> logfile.log
#same as sudo python appname.py 1>> logfile.log
对于stdout
和stderr
:
sudo python appname.py >> logfile.log 2>&1
我正在调试我为我正在处理的嵌入式 raspberry pi 项目编写的 python 应用程序,因为它使用的是 TFT 屏幕而不是完整的显示器,并且没有 monitor/keyboard,所以我必须通过 TFT 桌面上的图标(非常小)启动 python 应用程序。我无法通过 SSH 启动该应用程序,因为它需要 X(由于 PyQT4),因此要在 RPi 上 运行ning,必须使用设备本身的桌面图标启动它。
桌面图标会启动一个 shell 脚本,该脚本使用以下内容:
sudo python appname.py >> logfile.log
但这不会写入它遇到的任何错误,它只会记录我在任何错误之前所做的任何事情。
如果我从 RPi 中取出 SD 卡并将其放入第二个 RPi 我已经连接到完整 mouse/keyboard/display,我可以 运行 python 应用程序并看到终端错误,但这并不能帮助我弄清楚完全组装的设备上发生了什么。
如何记录我通常会在终端中看到的错误?
编辑:当然我在应用程序中捕获错误,但我在 python 应用程序中发送 shell 命令可能是不会被捕获的问题python 中的 try/catch。当您启动 python 脚本时,我想捕获终端中的所有输出,而不管它的来源。
就目前而言,您只是在捕获标准输出。将您的调用修改为以下内容:
sudo python appname.py >> logfile.log 2>&1
这将同时重定向 stdout 和 stderr。
您还可以将 stderr 捕获到单独的文件中:
sudo python appname.py >> logfile.log 2>> error.log
只有错误你可以使用:
sudo python appname.py 2>> logfile.log
仅供 stdout
:
sudo python appname.py >> logfile.log
#same as sudo python appname.py 1>> logfile.log
对于stdout
和stderr
:
sudo python appname.py >> logfile.log 2>&1