2017-08-25 9 views
0
私はトレースバックからエラーの詳細を抽出したい

、それらのトレースバックログファイルからの抽出物はthis methodを使用しており、トレースバックの多くの異なる種類は以下のように、ありますpython正規表現を使用してトレースバックからエラーの詳細を抽出する方法は?

Traceback (most recent call last): 
    File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main 
    "__main__", fname, loader, pkg_name) 
    File "/usr/lib/python2.7/runpy.py", line 72, in _run_code 
    exec code in run_globals 
    File "/root/env/common/test/test/__main__.py", line 5, in <module> 
    main() 
    File "/root/env/common/test/test/cli/parser.py", line 55, in main 
    run_script(args) 
    File "/root/env/common/test/test/cli/runner.py", line 124, in run_script 
    exec_script(args.script, scope=globals(), root=True) 
    File "/root/workspace/group/test_regression_utils.py", line 123, in exec_script 
    cli_exec_script(*args,**kwargs) 
    File "/root/env/common/test/test/cli/runner.py", line 186, in exec_script 
    exec(compile(code, scriptpath, 'exec')) in scope 
    File "shiju_12.py", line 30, in <module> 

    File "/root/moaworkspace/group/testscript/utils/shiju_public.py", line 37, in shiju_move 

Exception: close failed! 
EndOfStream 
EndOfStream 
Traceback (most recent call last): 
    File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main 
    "__main__", fname, loader, pkg_name) 
    File "/usr/lib/python2.7/runpy.py", line 72, in _run_code 
    exec code in run_globals 
    File "/root/env/common/test/test/__main__.py", line 5, in <module> 
    main() 
    File "/root/env/common/test/test/cli/parser.py", line 55, in main 
    run_script(args) 
    File "/root/env/common/test/test/cli/runner.py", line 124, in run_script 
    exec_script(args.script, scope=globals(), root=True) 
    File "/root/env/common/test/test/cli/runner.py", line 186, in exec_script 
    exec(compile(code, scriptpath, 'exec')) in scope 
    File "/root/env/common/mator/mator/mator.py", line 520, in start 
    raise IOError("RPC server not started!") 
IOError: RPC server not started 

期待した結果は次のとおりです。

("XXXX", "Exception: close failed!") 
("XXXX","IOError: RPC server not started") 

私が試みたdetail_regex = r'Traceback.*\n(\s+.*\n)*(.*)\n*' 第二トレースバックは右であるが、第一トレースバックの結果は、("Exception: close failed!", "EndOfStream")

任意のIDEでありますとして?

+0

トレースバックオブジェクトを検査する方が良いでしょう(正確に何が呼び出されたかを覚えていない可能性があります)。 – SwiftsNamesake

+0

ああ、トレースバックはログファイルから得られる。 – nanci

+0

リンクはこの回答に戻る – SwiftsNamesake

答えて

0

あなたのパターンをTraceback.*\n(\s+.*\n)*(.*?)\n*に変更すると、それは与えられた例で動作します。私はあなたの問題を完全に解決するとは確信していません。

関連する問題