作者:做夢的人(小姐姐)
出處:因為最近在做平台,發現有同事,使用django封裝了日誌模組,看樣子很簡單,準備自己單獨做了乙個日誌封裝模板,對於python不熟練的我,封裝部分參考了多個博主的內容,形成自己的日誌模組,內容如下:
封裝部分
建立乙個logutil2的py檔案
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @author: zhangjun
# @date : 2018/7/26 9:20
# @desc : description
import logging
import logging.handlers
import os
import time
class logs(object):
&nbsjajmxup; def __init__(self):
self.logger = logging.getlogger("")
# 設定輸出的等級
levels =
# 建立檔案目錄
logs_dir="logs2"
if os.path.exists(logs_dir) and os.path.isdir(logs_dir):
pass
else:
os.mkdir(logs_dir)
# 修改log儲存位置
timestamp=time.strftime("%y-%m-%d",time.localtime())
logfilename='%s.txt' % timestamp
&n logfilepath=os.path.join(logs_dir,logfilename)
rotatingfilehandler = logging.handlers.rotatingfilehandler(filename =logfilepath,
&www.cppcns.comnbsp; maxbytes = 1024 * 1024 * 50,
backupcount = 5)
# 設定輸出格式
formatter = logging.formatter('[%(asctime)s] [%(levelname)s] %(message)s', '%y-%m-%d %h:%m:%s')
rotatingfilehandler.setformatter(formatter)
# 控制台控制代碼
console = logging.streamhandler()
console.setlevel(logging.notset)
console.setformatter(formatter)
# 新增內容到日誌控制代碼中
self.logger.addhandler(rotatingfilehandler)
self.logger.addhandler(console)
self.logger.setlevel(logging.notset)
def info(self, message):
self.logger.info(message)
def debug(self, message):
self.logger.debug(messa
def warning(self, message):
self.logger.warning(message)
def error(self, message):
self.logger.error(message)
2.呼叫模組
建立另外乙個py檔案
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @author: zhangjun
# @date : 2018/7/26 9:21
# @desc : description
import logging
logger = logging.getlogger(__name__)
import logutil2
if __name__ == '__main__':
logger=logutil2.logs()
logger.info("this is info")
logger.debug("this is debug")
logger.error("this is error")
logger.warning("this is warning")
結果展示:
1.控制台輸出
2.日誌檔案展示
建立目錄
日誌檔案的寫入
詳解Python中的日誌模組logging
許多應用程式中都會有日誌模組,用於記錄系統在執行過程中的一些關鍵資訊,以便於對系統的執行狀況進行跟蹤。在.net平台中,有非常著名的第三方開源日誌元件log4net,c 中,有人們熟悉的log4cpp,而在python中,我們不需要第三方的日誌元件,因為它已經為我們提供了簡單易用 且功能強大的日誌模...
如何對python的字典進行排序
我們知道python的內建dictionary資料型別是無序的,通過key來獲取對應的value。可是有時我們需要對dictionary中 的item進行排序輸出,可能根據key,也可能根據value來排。到底有多少種方法可以實現對dictionary的內容進行排序輸出呢?下面摘取了 一些精彩的解決...
python中如何對dict物件進行排序
有程式 mydict for key in sorted mydict.iterkeys print s s key,mydict key 輸出結果為 alan 2 bob 1 carl 40 danny 3 使用key來進行dict的排序 keylist mydict.keys keylist.s...