本文實例講述了python寫日志文件操作類與應用。分享給大家供大家參考,具體如下:
項目的開發(fā)過程中,日志文件是少不了的,通過寫日志文件,可以知道程序運行的情況。特別當部署在生產環(huán)境中的時候,這個時候一般不能debug , 當然在有些情況時可以 remote debug (遠程debug)。那種情況另當別論。還是用通常的寫日志的方法,比如在 java 中,經常可以看到 log4j,sf4j,logback等三方組件來寫日志。
在python中如何實現(xiàn)呢,其實python 本身也帶了日志操作的庫。可以直接使用。這里我把在項目中用到的整理了一下,分享在下面,這個實現(xiàn)的方法,主要有兩點
1. 寫日志的類
2.日志配置文件(handler,logger,以及日志保存的路徑等)
寫日志的類
''' Created on 2012-2-17 @author: yihaomen.com ''' import logging.config import os class INetLogger: log_instance = None @staticmethod def InitLogConf(): currentDir=os.path.dirname(__file__) INetLogger.log_instance = logging.config.fileConfig(currentDir+os.path.sep+"logger.ini") @staticmethod def GetLogger(name = ""): if INetLogger.log_instance == None: INetLogger.InitLogConf() INetLogger.log_instance = logging.getLogger(name) return INetLogger.log_instance if __name__ == "__main__": logger = INetLogger.GetLogger() logger.debug("debug message") logger.info("info message") logger.warn("warn message") logger.error("error message") logger.critical("critical message") logHello = INetLogger.GetLogger("root") logHello.info("Hello world!")
日志配置文件,與上面的類在同一文件夾下 logger.ini
[loggers] keys=root,mysql,socket [handlers] keys=consoleHandler,rotateFileHandler [formatters] keys=simpleFormatter [formatter_simpleFormatter] format=[%(asctime)s][%(levelname)s] [%(filename)s:%(lineno)d] [thread:%(thread)d]: %(message)s [logger_root] qualname=root level=DEBUG handlers=consoleHandler,rotateFileHandler [logger_mysql] qualname=mysql level=DEBUG handlers=rotateFileHandler [logger_socket] qualname=socket level=ERROR handlers=rotateFileHandler [handler_consoleHandler] class=StreamHandler level=DEBUG formatter=simpleFormatter args=(sys.stdout,) [handler_rotateFileHandler] class=handlers.RotatingFileHandler level=DEBUG formatter=simpleFormatter args=('c:/logs/InetServer.log', 'a', 2000000, 9)
如果你用了 handler_rotateFileHandler 的話,這樣日志就會保存到 才 c:/logs/InetServer.log 文件里面,而且當日志超過2000000 d的時候,重新另外生成一個文件,保存9天的記錄,你可以配置成30,這樣就保存了最近一個月的日志記錄。
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python日志操作技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
