import logging class CustomFormatter(logging.Formatter): """カスタムフォーマッター。 trace_log を用いる際、pathname, lineno が、 trace_log になることを防ぐためのフォーマッター。 """ def format(self, record): """フォーマットします。 Arguments: record: レコード Return: フォーマットされたメッセージ """ record.depth = "" # ext_* が指定されていれば、置き換える。 if "ext_depth" in record.__dict__: record.depth = record.__dict__["ext_depth"] if "ext_levelname" in record.__dict__: record.levelname = record.__dict__["ext_levelname"] if "ext_pathname" in record.__dict__: record.pathname = record.__dict__["ext_pathname"] if "ext_lineno" in record.__dict__: record.lineno = record.__dict__["ext_lineno"] return super().format(record)