1
我有一個Python應用程序,它使用動態發現的插件來擴展它的功能。我想弄清楚什麼是從插件中記錄信息的最佳方式。我認爲至少有兩種解決方案。無論是創建記錄器的層次結構:Python日誌記錄:subloggers或額外信息
myapp
myapp.plugin1
myapp.plugin2
而且withing基礎應用:
logger = logging.getLogger('myapp')
logger.debug('mymessage')
和withing的plugin1
logger = logging.getLogger('myapp.plugin1')
logger.debug('mymessage from plugin1')
或者我添加使用在該extra
參數的其他信息默認記錄器: 在基本應用程序內:
logger = logging.getLogger('myapp')
logger.debug('mymessage', extra=dict(plugin=None)
在plugin1
logger = logging.getLogger('myapp')
logger.debug('mymessage from plugin1', extra=dict(plugin='plugin1')
什麼是這兩個方案之間的優勢和劣勢(如果有的話)?