私はPyCharmパイプでPythonプログラムの出力を処理する方法が見つけられません。具体的には、私は私のプログラムからバニヤン(Node Bunyanから移植Python Bunyan)を使用しています、それはstderrにJSONログを生成します。PyCharmパイプpythonプログラムの出力を別のテキストプロセッサープログラムで行う方法
Pythonのコード:
logger.info({'nick': 'Duke', 'age': 30, 'expertise': ['Java', 'Javascript', 'Python']},
'Hi %(nick)s, your expertise recorded!');
生出力:処理さ
cymp:scratches cyue$ python logging-wander.py
{"name": "__main__", "expertise": ["Java", "Javascript", "Python"], "nick": "Duke", "age": 30, "time": "2016-08-02T18:16:12Z", "msg": "Hi Duke, your expertise recorded!", "hostname": "cymp.local", "level": 30, "pid": 1418, "v": 0}
パイプ出力:
cymp:scratches cyue$ python logging-wander.py 2>&1 | bunyan
[2016-08-02T18:16:15Z] INFO: __main__/1419 on cymp.local: Hi Duke, your expertise recorded! (nick=Duke, age=30)
expertise: [
"Java",
"Javascript",
"Python"
]
出力がパイプされていますbunyanのコマンドラインツール(これは端末にも色がありますが、ここには表示されていません)に相当します。
WebStorm for jsでは、ローカルシェルスクリプトを 'Node interpreter'として追加することができますが、PyCharmの場合は、 'Run/Debug Configuration'ダイアログの 'Python interpreter'の 'Add'オプションはありません。私は 'Project Interpreter'としてシェルスクリプトを追加しようとすると、The selected file is not a valid home for PythonSDK
と文句を言う。
希望の結果を得るために回避策を使用することができますか?
あなただけの出力を着色する必要がある場合に、ソースコードは、[Grepのコンソール](と呼ばれるpycharmのための素晴らしいプラグインがある間https://plugins.jetbrains.com/プラグイン/ 7125?pr = pycharm)。 – zegkljan
ありがとうございますが、色は私には二次的に重要なので、結果を対比するように例を更新しました。 jsonで構造化されたログデータを保持したまま、可読性が最も求められます。 –