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')
什么是这两个方案之间的优势和劣势(如果有的话)?