1

raspberry Pi (Linux の一種である rasbian を使用する組み込みモジュール) で python スクリプトを実行しているときに発生したエラーのログを作成して、後日それを調べて問題が発生している場所を確認できるようにしたいと考えています。 . スクリプトが実行されるたびにエラーを追加し、日付とエラー テキストを記録します (たとえば、例外内で私が出力したものや、Python 自体のどこかで生成されたものなど)。

これはよくあることだと思うので、自分で書く前に、この種のことを行う標準的な方法があるかどうか疑問に思っていました

このような提案がいくつか見つかりましたが、日付は印刷されません。fsockまた、引数として関数に渡す必要があるのか​​ 、それともグローバルを使用してもよいのか疑問に思っていました....

fsock = open('my_app_error.log', 'a')
sys.stderr = fsock

fsock.write("URLError")
4

1 に答える 1

2

次のようなことができます

def logError(message):
    import inspect
    import logging
    import traceback

    cframe = inspect.currentframe()
    called_from = inspect.getframeinfo(cframe.f_back).function
    try:
        stack_trace = traceback.format_exc()
    except AttributeError:
        stack_trace = 'Unable to retrieve stack_trace.'

    error = '{},{},{},{}\n'.format(message, user, called_from,stack_trace.replace('\n','|'))
    logging.basicConfig(format='%(asctime)s%(message)s', datefmt='%m/%d/%Y %I:%M:%S %p',filename='log.csv')
    logging.warning(error)

inspectloggingおよびtracebackモジュールはエラー ログに役立ちます

于 2013-08-21T00:40:44.187 に答える