摘要:將日志記錄發(fā)送到合適的目的地,比如文件,等。全局日志的權(quán)力大于局部日志。全局日志級(jí)別為的話,局部變量想設(shè)置為或者都會(huì)失效。關(guān)于的配置,采用的是的形式,就是字典的關(guān)鍵字替換。
引言 具體實(shí)踐
#!/usr/bin/env python # -*- coding=utf-8 -*- import logging appname = "com.thebingo.mhtt" #創(chuàng)建一個(gè)logging的實(shí)例logger logger = logging.getLoggger(appname) #設(shè)定全局日志級(jí)別為DEBUG logger.setLevel(logging.DEBUG) #創(chuàng)建一個(gè)屏幕的handler,并且設(shè)定級(jí)別為DEBUG ch = logging.StreamingHandler() ch.setLevel(logging.DEBUG) #創(chuàng)建一個(gè)文件的handler,并且設(shè)定級(jí)別為DEBUG fh= logging.FileHandler("toMyself.log") fh.setLevel(logging.CRITICAL) #設(shè)置日志的格式 formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") #add formatter to ch and fh ch.setFormatter(formatter) fh.setFormatter(formatter) #add ch and fh to logger logger.addHandler(ch) logger.addHandler(fh) #"application" code logger.debug("debug message") logger.info("info message") logger.warn("warn message") logger.error("error message") logger.critical("critical message")logging模塊
logging模塊提供logger,handler,filter,formatter.
logger:可以通過logging.getLogger(name)獲取logger對(duì)象,如果不指定name則返回root對(duì)象。
handler:將日志記錄(log record)發(fā)送到合適的目的地(destination),比如文件,socket等。一個(gè)logger對(duì)象可以通過addHandler方法添加多個(gè)handler,每個(gè)handler又可以定義不同日志級(jí)別,以實(shí)現(xiàn)日志分級(jí)過濾顯示。
全局日志的權(quán)力大于局部日志。全局日志級(jí)別為CRITICAL的話,局部變量想設(shè)置為INFO或者DEBUG都會(huì)失效。
關(guān)于formatter的配置,采用的是%(
https://docs.python.org/3.5/l...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/42101.html
Python Logging原來真的遠(yuǎn)比我想象的要復(fù)雜很多很多,學(xué)習(xí)路線堪比git。但是又繞不過去,alternatives又少,所以必須要予以重視,踏踏實(shí)實(shí)認(rèn)認(rèn)真真的來好好學(xué)學(xué)才行。 學(xué)習(xí)Logging的目的:簡(jiǎn)單腳本還好,print足夠。但是稍微復(fù)雜點(diǎn),哪怕是三四個(gè)文件加起來兩三百行代碼,調(diào)試也開始變復(fù)雜起來了。再加上如果是后臺(tái)長期運(yùn)行的那種腳本,運(yùn)行信息的調(diào)查更是復(fù)雜起來。一開始我還在各種查...
摘要:的三種數(shù)據(jù)類型字典列表元組,分別用花括號(hào)中括號(hào)小括號(hào)表示。約等于上句,可能是因?yàn)樽远x變量名與內(nèi)部函數(shù)或變量同名了。下,默認(rèn)路徑一般為。的日志模塊中計(jì)時(shí)器定時(shí)器計(jì)劃任務(wù),。對(duì)象的問題怎樣忽略警告不打印煩人的警告打印到終端同時(shí)記錄到文件。 Python Enhancement Proposal。(PEP,Python增強(qiáng)建議書) Python之禪(import this) Pytho...
摘要:用于便捷記錄日志且線程安全的模塊日志級(jí)別日志一共分成個(gè)等級(jí),從低到高分別是。詳細(xì)的信息通常只出現(xiàn)在診斷問題上確認(rèn)一切按預(yù)期運(yùn)行一個(gè)跡象表明一些意想不到的事情發(fā)生了或表明一些問題在不久的將來例如。這個(gè)等級(jí),也分別對(duì)應(yīng)種打日志的方法。 用于便捷記錄日志且線程安全的模塊 1、日志級(jí)別 日志一共分成5個(gè)等級(jí),從低到高分別是:DEBUG INFO WARNING ERROR CRITICAL。D...
摘要:模塊簡(jiǎn)介的模塊提供了靈活的日志處理相關(guān)功能可以用來追蹤程序運(yùn)行的情況。模塊設(shè)置的默認(rèn)等級(jí)時(shí)這意味著默認(rèn)情況下,日志級(jí)別為的日志會(huì)被記錄,而的日志會(huì)被忽略。線程安全模塊是通過線程鎖保證線程安全的。 Logging 模塊 簡(jiǎn)介 Python的 logging 模塊提供了靈活的日志處理相關(guān)功能, 可以用來追蹤程序運(yùn)行的情況。 logging 模塊提供了一系列標(biāo)準(zhǔn)的日志等級(jí): DEBUG,...
摘要:是一個(gè)用于做遠(yuǎn)程控制的模塊,使用該模塊可以對(duì)遠(yuǎn)程服務(wù)器進(jìn)行命令或文件操作,值得一說的是,和內(nèi)部的遠(yuǎn)程管理就是使用的來現(xiàn)實(shí)。 paramiko paramiko是一個(gè)用于做遠(yuǎn)程控制的模塊,使用該模塊可以對(duì)遠(yuǎn)程服務(wù)器進(jìn)行命令或文件操作,值得一說的是,fabric和ansible內(nèi)部的遠(yuǎn)程管理就是使用的paramiko來現(xiàn)實(shí)。 1、下載安裝 pycrypto,由于 paramiko 模塊內(nèi)部...
閱讀 3571·2021-11-16 11:45
閱讀 2130·2021-11-08 13:23
閱讀 2224·2021-10-11 10:59
閱讀 2902·2021-09-27 13:36
閱讀 2490·2019-08-30 15:54
閱讀 2680·2019-08-29 16:58
閱讀 2798·2019-08-29 16:56
閱讀 1348·2019-08-26 13:52