1
ロギングハンドラを後者に渡すPythonスクリプトとクラスオブジェクトを作成します。ハンドラはそのようログクラスを使用して作成されます。ハンドラがない場合のロガーの無効化
#Debug Handler
debug_handler = logging.FileHandler('Debug.log')
debug_handler.setLevel(logging.DEBUG)
#Info Handler
info_handler = logging.FileHandler('Normal.log')
info_handler.setLevel(logging.INFO)
これらのハンドラオブジェクトはオブジェクト初期化子に直接渡されます。
def __init__(self, type, path, info_handler = False, debug_handler = False):
#Establishes Class Logger
self.logger = logging.getLogger('LoggerName')
self.logger.setLevel(logging.DEBUG)
if (info_handler):
self.logger.addHandler(info_handler)
if (debug_handler):
self.logger.addHandler(debug_handler)
私の目標は、ハンドラを作成するための完全オプションですそれらを使用するには、printステートメントと同じくらい頻繁に呼び出しをコード全体に分散する必要があります。例:
self.logger.info('INITIALIZING RESULTS OBJECT')
つまり、ハンドラを渡すべきではないというエラーが発生します。コード内の呼び出しごとにtry/catchを置かずに、これらのステートメントを管理/無効化するにはどうすればよいですか?