Python のロガー モジュールを使用してログを記録したいカスタム オブジェクトがあります。
私は辞書でそれを記録します:
logger.info({
'message': 'something happened',
'object': my_custom_object,
})
問題は、ロガーがujson.dumps()
への入力をシリアル化するために使用することlogger.info()
です。
ujson.dumps()
my_custom_object をインスタンス変数の名前のリストに変換します。これはあまり役に立ちません。toJson
代わりに、このメソッドをシリアル化しようとするときに使用するカスタムまたはtoDict
メソッドを指定したいと考えています。
これは可能ですか?
メソッドを指定する方法と少し似て__str__
おり、Python がオブジェクトを文字列に変換しようとするたびに、代わりにそのメソッドが呼び出されます。