Zope: Script(Python)でログファイルに変数値を出力
 2007.06.08

ZopeのScript(Python)の開発をしている時,実行途中の変数の値を見たい事が多々あります. Script(Python)でZopeのevent.logにデバッグ情報を出力する方法が在ります. Pythonのスクリプト中に以下のように記述すればevent.logに出力されます.
from zLOG import LOG, DEBUG
....
LOG('foo-script', DEBUG, "error : .....")
...
ただし,$INSTANCEHOME/etc/zope.conf の <eventlog>~</eventlog> セクション内で level debug を記述する必要があります.デフォルトでは level info です.開発時は level debug で,本運用環境では level info とするとデバッグ用のコードを消さずにすみます. Zopeのバージョンによっては zLOG モジュールをimportが許可されていない場合があります.そのときはzLOGモジュールのimportを許可する必要があります.Products に適当にディレクトリを作って,そのディレクトリ中の __init__.py に以下のように書けばよいでしょう.
from AccessControl import allow_module
allow_module('zLOG')
カテゴリー:技術情報メモ