1

Python のロガー モジュールを使用してログを記録したいカスタム オブジェクトがあります。

私は辞書でそれを記録します:

logger.info({
    'message': 'something happened',
    'object': my_custom_object,
})

問題は、ロガーがujson.dumps()への入力をシリアル化するために使用することlogger.info()です。

ujson.dumps()my_custom_object をインスタンス変数の名前のリストに変換します。これはあまり役に立ちません。toJson代わりに、このメソッドをシリアル化しようとするときに使用するカスタムまたはtoDictメソッドを指定したいと考えています。

これは可能ですか?

メソッドを指定する方法と少し似て__str__おり、Python がオブジェクトを文字列に変換しようとするたびに、代わりにそのメソッドが呼び出されます。

4

1 に答える 1

0

どうやら実際にtoDictオブジェクトにメソッドを実装でき、それが機能するようです。

于 2016-01-30T00:32:08.497 に答える