17

encodingパラメータをに追加するにはどうすればよいlogging.basicConfigですか?

Python3.3でこれが可能になったことを示すこのバグレポートを見つけました。Python 2.7でこれが必要で、バグレポートにカスタムlogging.FileHandlerオブジェクトを使用するように指示されていますが、動作させることができません。

4

3 に答える 3

32

あなたのケースでは使用を避ける方が簡単ですbasicConfig()-ハンドラーを作成してプログラムで追加するだけです(コードが1回だけ実行されるようにします)。例:

root_logger= logging.getLogger()
root_logger.setLevel(logging.DEBUG) # or whatever
handler = logging.FileHandler('test.log', 'w', 'utf-8') # or whatever
handler.setFormatter(logging.Formatter('%(name)s %(message)s')) # or whatever
root_logger.addHandler(handler)

それは多かれ少なかれ何をするかbasicConfig()です。

更新: Python 3.9以降のバージョンでは、basicConfig()hasencodingerrorskeywordパラメーターを使用できます。

于 2012-05-22T23:22:04.620 に答える