如何重定向 python 运行时错误?

发布于 2024-10-01 19:36:10 字数 106 浏览 5 评论 0原文

我正在使用 python 编写一个守护程序服务器,有时会出现 python 运行时错误,例如某些变量类型不正确。该错误不会导致进程退出。

我是否可以将此类运行时错误重定向到日志文件?

I am writting a daemon server using python, sometimes there are python runtime errors, for example some variable type is not correct. That error will not cause the process to exit.

Is it possible for me to redirect such runtime error to a log file?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

-小熊_ 2024-10-08 19:36:10

看起来你在问两个问题。

为了防止进程因错误而退出,您需要捕获所有异常<使用 try... except...finally< 引发的 /a> /代码>

您还希望将所有输​​出重定向到日志。令人高兴的是,Python 提供了一个全面的 logging 模块,以方便您使用。

举个例子,为了让您高兴和高兴:

#!/usr/bin/env python

import logging
logging.basicConfig(filename='warning.log', level=logging.WARNING)

try:
    1/0
except ZeroDivisionError, e:
    logging.warning('The following error occurred, yet I shall carry on regardless: %s', e)

这慷慨地发出:

% cat warning.log
WARNING:root:The following error occurred, yet I shall carry on regardless: integer division or modulo by zero

It looks like you are asking two questions.

To prevent your process from exiting on errors, you need to catch all exceptions that are raised using try...except...finally.

You also wish to redirect all output to a log. Happily, Python provides a comprehensive logging module for your convenience.

An example, for your delight and delectation:

#!/usr/bin/env python

import logging
logging.basicConfig(filename='warning.log', level=logging.WARNING)

try:
    1/0
except ZeroDivisionError, e:
    logging.warning('The following error occurred, yet I shall carry on regardless: %s', e)

This graciously emits:

% cat warning.log
WARNING:root:The following error occurred, yet I shall carry on regardless: integer division or modulo by zero
ゃ人海孤独症 2024-10-08 19:36:10

查看 traceback 模块。如果捕获RuntimeError,您可以将其写入日志(查看logging模块)。

Look at the traceback module. If you catch a RuntimeError, you can write it to the log (look at the logging module for that).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文