tkdebug プログラム仕様

print / logging を切り替えられる簡易デバッグモジュール(print風API)。

このモジュールは、開発者がデバッグメッセージを柔軟に出力するためのシンプルな機能を提供します。 DEBUG_LEVEL 設定により、標準出力(print)またはロギングファイルへの出力、 あるいはデバッグ出力の完全に無効化を切り替えることができます。

主な機能は dbg() 関数であり、Pythonの組み込み print() 関数に似たAPIを提供しつつ、 自動的に呼び出し元のファイル名や行番号、タイムスタンプを付加します。

関連リンク: tkdebug.py ライブラリ ドキュメント

tklib.tkdebug.dbg(*msgs: Any, sep: str = ' ', end: str = '\n', flush: bool = False) None[ソース]

print() 関数に似たAPIでデバッグメッセージを出力します。

DEBUG_LEVEL の設定に応じて、標準出力にメッセージを出力するか、 設定されたログファイルにメッセージを記録します。 呼び出し元のファイル名、行番号、現在の時刻が自動的にメッセージに付加されます。

DEBUG_LEVEL が0の場合、何も出力されません。 DEBUG_LEVEL が1の場合、組み込みの print() 関数と同様に標準出力に出力され、 sep, end, flush 引数が尊重されます。 DEBUG_LEVEL が2以上の場合、loggingモジュールを使用してログファイルに出力されます。 この場合、`logging`は通常1レコード1行で扱われるため、`end`引数は内部で調整され、 `flush`引数は無視されます。

パラメータ:
  • msgs (Any) -- 出力する任意の数のメッセージ。これらは文字列に変換され、`sep`で結合されます。

  • sep (str) -- メッセージ間の区切り文字。`print()`と同様の動作です。

  • end (str) -- メッセージの末尾に追加される文字列。`print()`と同様の動作ですが、logging出力時は調整されます。

  • flush (bool) -- 出力バッファを強制的にフラッシュするかどうか。`print()`と同様の動作ですが、logging出力時は無視されます。

戻り値:

なし

戻り値の型:

None

tklib.tkdebug.set_debug(level: int | None = None, log_file: str | None = None) None[ソース]

デバッグ出力設定を変更します。

DEBUG_LEVELLOG_FILE のグローバル設定値を動的に変更し、 デバッグ出力の挙動を切り替えることができます。 LOG_FILE が変更された場合、loggingモジュールのハンドラを再設定し、 新しいファイルにログが出力されるようにします。

パラメータ:
  • level (int | None) -- デバッグレベル。0: 無効, 1: print出力, 2: logging出力。Noneの場合、現在の設定を維持します。

  • log_file (str | None) -- ログファイルのパス。Noneの場合、現在の設定を維持します。 既存の`LOG_FILE`と異なる場合、logging設定が再初期化されます。

戻り値:

なし

戻り値の型:

None