第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在多個模塊中使用Python登錄

在多個模塊中使用Python登錄

慕妹3242003 2019-12-07 14:51:56
我有一個具有以下結構的小型python項目-Project  -- pkg01   -- test01.py -- pkg02   -- test02.py -- logging.conf我計劃使用默認的日志記錄模塊將消息打印到stdout和日志文件。要使用日志記錄模塊,需要進行一些初始化-import logging.configlogging.config.fileConfig('logging.conf')logger = logging.getLogger('pyApp')logger.info('testing')目前,在開始記錄消息之前,我會在每個模塊中執(zhí)行此初始化。是否可以只在一個位置執(zhí)行一次初始化,以便通過在整個項目中記錄日志來重復使用相同的設置?
查看完整描述

3 回答

?
森林海

TA貢獻2011條經驗 獲得超2個贊

最佳實踐是在每個模塊中都定義一個記錄器,如下所示:


import logging

logger = logging.getLogger(__name__)

在模塊頂部附近,然后在模塊中的其他代碼中執(zhí)行例如


logger.debug('My message with %s', 'variable data')

如果您需要在模塊內部細分日志記錄活動,請使用例如


loggerA = logging.getLogger(__name__ + '.A')

loggerB = logging.getLogger(__name__ + '.B')

并登錄loggerA并loggerB視情況而定。


在您的一個或多個主程序中,執(zhí)行例如:


def main():

    "your program code"


if __name__ == '__main__':

    import logging.config

    logging.config.fileConfig('/path/to/logging.conf')

    main()

要么


def main():

    import logging.config

    logging.config.fileConfig('/path/to/logging.conf')

    # your program code


if __name__ == '__main__':

    main()

見這里用于從多個模塊記錄,并在這里用于代碼日志配置將被用作其它的代碼庫模塊。


更新:調用時fileConfig(),您可能想指定disable_existing_loggers=False是否使用Python 2.6或更高版本(有關更多信息,請參閱文檔)。缺省值是True為了向后兼容,fileConfig()除非所有現(xiàn)有記錄器或其祖先在配置中被明確命名,否則它將被禁用。將該值設置為False,將保留現(xiàn)有記錄器。如果使用的是Python 2.7 / Python 3.2或更高版本,則不妨考慮使用dictConfig()API,fileConfig()因為它可以更好地控制配置,因此它比API更好


查看完整回答
反對 回復 2019-12-07
  • 3 回答
  • 0 關注
  • 354 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號