プログラムの実行中にフォーマットを変更するPythonプログラム用のロガーを作成したいと思います。これは、ロガーに、ログメッセージに加えて現在実行中のプログラムの部分に関する情報を表示させたい場合に必要です。 はこのような何か私は何をしたいです(プログラムの異なる部分 - 前編、第2の部分は、ログインしている必要があります):しかし、私は何を得るロギングフォーマットを動的に調整する
import logging
#Set up logger
logfile = str('example.log')
logger = logging.getLogger('MyProgram')
logger.setLevel(logging.DEBUG)
fh = logging.FileHandler(logfile)
fh.setLevel(logging.INFO)
ch = logging.StreamHandler()
ch.setLevel(logging.INFO)
log_status = 'First Part'
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - {0} - %(message)s'.format(log_status))
fh.setFormatter(formatter)
ch.setFormatter(formatter)
logger.addHandler(fh)
logger.addHandler(ch)
#First part of the program
logger.info("One log message")
#Second part of the program
log_status = 'Second Part'
logger.info("Another log message")
:
2016-11-15 21:09:07,042 - MyProgram - INFO - First Part - One log message
2016-11-15 21:09:07,042 - MyProgram - INFO - Second Part - Another log message
は、私は次のコードを試してみました
2016-11-15 21:09:07,042 - MyProgram - INFO - First Part - One log message
2016-11-15 21:09:07,042 - MyProgram - INFO - First Part - Another log message
どうすればこの問題を解決できますか?私のコードの残りの部分にも助言を与えるのをためらってください。