2017-05-10 11 views

答えて

1
あなたは、これは(ないテスト)次の例のように、その __str__方法実際の書式設定を行い、カスタムメッセージクラスを使用して行うことができます

from bottle import SimpleTemplate 
class BottleTemplateMessage(object): 
    def __init__(self, source, **kwargs): 
     self.template = SimpleTemplate(source) 
     self.context = kwargs 

    def __str__(self): 
     return self.template.render(**self.context) 

、その後

import logging 
logging.warning(BottleTemplateMessage('Hello, {{name}}!', name='world')) 

これは何かを印刷するべきです

WARNING:root:Hello, world! 
+0

呼び出し側コードが '' logging.warning( 'Hello、{{name}}!'、name = 'world') ''に単純化されるように、この動作を上流に注入する方法はありますか? –

+0

アダプタを使用してログを取るなどの方法はありません(サードパーティ製のライブラリが通常どおりログに記録されるようにしてください - サードパーティ製のコードを使用しないと、 'Logger'をサブクラス化することができます) ) –

関連する問題