1

毎晩の変換とオーディオ データのアーカイブを処理する小さな Python スクリプトを作成しました。途中でいくつかの予期しない問題が発生したため (ファイルが存在しない、データベース サーバーへの信頼できない接続など...)、発生した問題を追跡するために Python 独自のログ機能を追加しました。

問題は、スクリプトが実行された場所 (現在の作業ディレクトリなど) にログ ファイルが作成されるため、2 つのログ ファイルが作成されることです。ディレクトリ(デバッグ時に使用)。ログファイルと構成ファイルをスクリプトと同じディレクトリに保存することをお勧めします。

ここにロガーの設定をロードしています:

logging.config.fileConfig(os.path.join(sys.path[0], 'logger.conf'))

...そして、これが my の関連部分ですlogger.conf:

[handler_fileHandler]
class=FileHandler
level=DEBUG
formatter=fileFormatter
args=('echi_export.log', 'a',)

絶対パス機能しますが、私はそれらを使用するのは少し気が進まないです。

要するに、Python のloggerモジュール (特に FileHandler) を使用してファイルのログを構成する適切な方法は何ですか? いくつかの実際の例で十分です。

4

1 に答える 1

5

したがって、構成ファイル内でPython式を使用できるようです。

[handler_fileHandler]
  <snip>
args=(os.path.join(sys.path[0],'echi_export.log'), 'a',)

これにより、スクリプトが存在するのと同じディレクトリにログファイルが作成されます。

(私のシステムでは、おそらくロギングモジュールが存在する場所にos.path.dirname(__file__)解決されます)。/usr/lib/python2.7/logging/

于 2012-03-01T13:32:27.680 に答える