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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在多個(gè)模塊中使用Python登錄

在多個(gè)模塊中使用Python登錄

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

3 回答

?
森林海

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊

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


import logging

logger = logging.getLogger(__name__)

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


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

如果您需要在模塊內(nèi)部細(xì)分日志記錄活動(dòng),請(qǐng)使用例如


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

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

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


在您的一個(gè)或多個(gè)主程序中,執(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()

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


更新:調(diào)用時(shí)fileConfig(),您可能想指定disable_existing_loggers=False是否使用Python 2.6或更高版本(有關(guān)更多信息,請(qǐng)參閱文檔)。缺省值是True為了向后兼容,fileConfig()除非所有現(xiàn)有記錄器或其祖先在配置中被明確命名,否則它將被禁用。將該值設(shè)置為False,將保留現(xiàn)有記錄器。如果使用的是Python 2.7 / Python 3.2或更高版本,則不妨考慮使用dictConfig()API,fileConfig()因?yàn)樗梢愿玫乜刂婆渲?,因此它比API更好


查看完整回答
反對(duì) 回復(fù) 2019-12-07
  • 3 回答
  • 0 關(guān)注
  • 353 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)