2017-02-21 6 views
1

私のpythonコードは、ログフレームワークを使用してログファイルを生成し、すべてのINFOメッセージがログファイルに取り込まれます。プログラムをROBOTフレームワークに統合しましたが、ログファイルは生成されません。代わりにINFOメッセージがlog.htmlに印刷されます。私はこれがロボットの既存のロガーが呼び出されているので、INFOlog.htmlに向けられていることを理解しています。私は振る舞いが変わることを望んでいませんが、私は依然としてINFOレベルのメッセージだけでユーザ定義のログファイルを別々に生成したいと考えています。ロボットフレームワークの情報メッセージが印刷されない

どうすればこの問題を解決できますか?

+2

ロガーなどの作成方法や使い方を教えてください。あなたはデフォルトのロガーを使用していますか? –

+0

ロボットロガーインタフェースを使用するのか、リスナーAPIを使用するのかを含めてください。 –

答えて

0

問題は修正されましたが、これはごくわずかです。しかし、それをもっと深く分析しているのは、私が正確な原因で明らかになったときに更新されます。 これは私が使用されるモジュールであり、 DEF call_logger(logger_name、ログファイル):(L 'handler_set'、なし)をGETATTRない場合= logging.INFO L = logging.getLogger(logger_name) レベル: フォーマッタ=fileHandler = logging.FileHandler(logFile、mode = 'a') fileHandler.setFormatter(formatter) streamHandler = logging.StreamHandler() streamHandler() .setFormatter(formatter) l.setLevel(level) l.addHandler(fileHandler) l.addHandler(streamHandler) l.handler_set = True

「logFile」というパラメータを「log_file」という別の名前に変更したときに機能しました。 "logFile"は組み込みのロボットキーワードだったようです。

0

Pythonのコード - >ログライブラリ - >

RobotFramework "ログファイル" - > Pythonのコード - >ライブラリロギング - >

デフォルト "log.html" で、あなたは実行すると、 Pythonコードを使用すると、ログファイル名を設定できます。 しかし、robotframeworkを使用して実行すると、ファイルはデフォルトでlog.htmlに設定されています(ロボットは内部で同じロギングライブラリを使用しています)ので、ロギング機能はrobotframeworkのロギング機能によって上書きされます。

これは、ファイルの代わりにlog.htmlに表示される理由です。

またRobot Framework not creating file or writing to it

はそれが役に立てば幸い参照することができます!

関連する問題