optuna.logging.disable_propagation
- optuna.logging.disable_propagation()[source]
ライブラリのログ出力の伝播を無効化します。
デフォルトではログの伝播は無効化されています。
enable_propagation()
を使用する際に ログの伝播を停止したい場合のみ、この関数を使用してください。使用例
2回目の最適化実行時にルートロガーへのログ伝播を停止します。
import optuna import logging optuna.logging.disable_default_handler() # デフォルトのハンドラを無効化します。 logger = logging.getLogger() logger.setLevel(logging.INFO) # ルートロガーを設定します。 logger.addHandler(logging.FileHandler("foo.log", mode="w")) optuna.logging.enable_propagation() # ログをルートロガーに伝播します。 study = optuna.create_study() logger.info("1回目の最適化実行時のログ") # ログはログファイルに保存されます。 study.optimize(objective, n_trials=10) optuna.logging.disable_propagation() # ルートロガーへのログ伝播を停止します。 logger.info("2回目の最適化実行時のログ") # このログは保存されません。 study.optimize(objective, n_trials=10) with open("foo.log") as f: assert f.readline().startswith("A new study created") assert f.readline() == "Logs from first optimize call\n" # 最適化実行後のログを確認します。 assert f.read().split("Logs from second optimize call\n")[-1] == ""
- Return type:
None