今天就跟大家聊聊有關(guān)怎么在Python中使用handler方法輸出日志,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
我們提供的服務(wù)有:網(wǎng)站制作、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、睢縣ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的睢縣網(wǎng)站制作公司
Python主要應(yīng)用于:1、Web開發(fā);2、數(shù)據(jù)科學(xué)研究;3、網(wǎng)絡(luò)爬蟲;4、嵌入式應(yīng)用開發(fā);5、游戲開發(fā);6、桌面應(yīng)用開發(fā)。
1、日志默認是輸出到Console(屏幕)上,如果我們想把詳細的日志輸出到log文件里,則需要用到handler了,理論上可以把日志輸出到各種流中,stderr、文件、socket等都可以,在logging中已經(jīng)將各種流handler封裝好了,你也可以繼承StreamHandler類自己做一些定制,簡單的把日志寫入到文件中的代碼示例如下:
import loggingif __name__ == '__main__': logger = logging.getLogger("Test") logger.setLevel(logging.INFO) # 輸出到控制臺 logger.addHandler(logging.StreamHandler()) # 輸出到文件 logger.addHandler(logging.FileHandler('test.log', encoding='UTF-8')) logger.debug("=== Debug 級別的信息 ===") logger.info("=== Info 級別的信息 ===") logger.warning("=== Warning 級別的信息 ===") logger.error("=== Error 級別的信息 ===") logger.critical("=== Critical 級別的信息 ===")
2、Console打印Warning以上的日志,而log文件保存Debug級別以上的日志,那么可以修改下上面的代碼,修改后的代碼如下:
if __name__ == '__main__': logger = logging.getLogger("Test") logger.setLevel(logging.INFO) # 輸出到控制臺 s_handler = logging.StreamHandler() s_handler.setLevel(logging.WARNING) logger.addHandler(s_handler) # 輸出到文件 f_handler = logging.FileHandler('test.log', encoding='UTF-8') f_handler.setLevel(logging.DEBUG) logger.addHandler(f_handler) logger.debug("=== Debug 級別的信息 ===") logger.info("=== Info 級別的信息 ===") logger.warning("=== Warning 級別的信息 ===") logger.error("=== Error 級別的信息 ===") logger.critical("=== Critical 級別的信息 ===")
看完上述內(nèi)容,你們對怎么在Python中使用handler方法輸出日志有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。