Python のドキュメントに従ってlogging.Formatter.converter
、記録された時間を制御するためにオーバーライドしようとしています。
以下に示すように、ミリ秒はオーバーライドされませんでした (現在の時間のミリ秒です)。
どうして?ミリ秒も制御するにはどうすればよいですか?
>>> import logging, datetime
>>> formatter = logging.Formatter('%(asctime)s:%(message)s')
>>> handler = logging.StreamHandler()
>>> handler.setFormatter(formatter)
>>> def sim_time(t):
... return datetime.datetime(2000,1,2,3,4,5,678).timetuple()
...
>>> formatter.converter = sim_time
>>> log = logging.getLogger('test')
>>> log.addHandler(handler)
>>> log.info('hi')
2000-01-02 03:04:05,898:hi
>>> log.info('hi')
2000-01-02 03:04:05,914:hi
>>> log.info('hi')
2000-01-02 03:04:05,434:hi