在控制台中处理Python中的错误

在控制台中处理Python中的错误,python,logging,error-handling,Python,Logging,Error Handling,我目前正在使用一个程序,并对其进行大量测试。我正在使用Python日志库,并将所有错误写入该库。但是,错误也会直接打印到控制台,并显示我不想要的整个堆栈跟踪。相反,我希望它只是在控制台中简单地说error,然后打印到错误日志中 我在这里发现了类似的问题(),但所有的答案都提到了使用try-catch。在整个程序中,是否存在这样的错误设置,而不使用try-catch?我预见到它们很难使用,例如,当我退出使用Control+C时,我可以随时这样做,但可能无法在try-catch块中捕获。我希望能够告

我目前正在使用一个程序,并对其进行大量测试。我正在使用Python日志库,并将所有错误写入该库。但是,错误也会直接打印到控制台,并显示我不想要的整个堆栈跟踪。相反,我希望它只是在控制台中简单地说error,然后打印到错误日志中


我在这里发现了类似的问题(),但所有的答案都提到了使用try-catch。在整个程序中,是否存在这样的错误设置,而不使用try-catch?我预见到它们很难使用,例如,当我退出使用
Control+C
时,我可以随时这样做,但可能无法在try-catch块中捕获。我希望能够告诉我的程序以某种方式处理错误,并将其反映在整个程序中。

\uuuu main\uuuuu
块包装在
try/except
中是消除堆栈跟踪的惯用方法。也就是说,像Sentry这样的日志聚合器应该非常有用,因为它会记录堆栈跟踪-大多数情况下,为了进一步调查问题,您可以避免运行调试器。@JoshKopen关于
sys.stderr=open('file.txt','w')
try/except
是Python中处理异常的公认方法。而且,正如Python的禅宗所说:“应该有一种——最好只有一种——显而易见的方法来做到这一点。”