ログ ファイルのすべてのタイムスタンプを UTC タイムスタンプにしたいと考えています。コードで指定する場合、これは次のように行われます。
import logging
import time
myHandler = logging.FileHandler('mylogfile.log', 'a')
formatter = logging.Formatter('%(asctime)s %(levelname)-8s %(name)-15s:%(lineno)4s: %(message)-80s')
formatter.converter = time.gmtime
myHandler.setFormatter(formatter)
myLogger = logging.getLogger('MyApp')
myLogger.addHandler(myHandler)
myLogger.setLevel(logging.DEBUG)
myLogger.info('here we are')
上記の「コード内」構成から離れて、構成ファイルベースのメカニズムに移行したいと思います。
フォーマッタの構成ファイル セクションは次のとおりです。
[handler_MyLogHandler]
args=("mylogfile.log", "a",)
class=FileHandler
level=DEBUG
formatter=simpleFormatter
では、上記のセクションでコンバーター属性 (time.gmtime) を指定するにはどうすればよいでしょうか?
編集: 上記の構成ファイルは次のようにロードされます。
logging.config.fileConfig('myLogConfig.conf')