日誌輸出與儲存import logging
import time
from logging import handlers
class logger(object):
level_relations = # 日誌級別關係對映
def __init__(self, level='info', when='d', backcount=3,
fmt='%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s'):
filename = './filepath/' + '%s_log' % time.strftime('%y%m%d')
self.logger = logging.getlogger(filename)
format_str = logging.formatter(fmt) # 設定日誌格式
self.logger.setlevel(self.level_relations.get(level)) # 設定日誌級別
sh = logging.streamhandler() # 往螢幕上輸出
sh.setformatter(format_str) # 設定螢幕上顯示的格式
th = handlers.timedrotatingfilehandler(filename=filename, when=when, backupcount=backcount,
encoding='utf-8') # 往檔案裡寫入#指定間隔時間自動生成檔案的處理器
# 例項化timedrotatingfilehandler
# interval是時間間隔,backupcount是備份檔案的個數,如果超過這個個數,就會自動刪除,when是間隔的時間單位,單位有以下幾種:
# s 秒
# m 分
# h 小時、
# d 天、
# w 每星期(interval==0時代表星期一)
# midnight 每天凌晨
th.setformatter(format_str) # 設定檔案裡寫入的格式
self.logger.addhandler(sh) # 把物件加到logger裡
self.logger.addhandler(th)
if __name__ == '__main__':
log = logger()
log.logger.debug('debug')
log.logger.info('info')
log.logger.warning('警告')
log.logger.error('報錯')
log.logger.critical('嚴重')
logger().logger.error('error')
python控制台列印log輸出重複的解決方法
在我們使用log模組輸出日誌時,經常會遇到log輸出重複的問題,如下 先來看這個檔案log.py的 示例 功能描述 實現控制台和檔案同時記錄日誌的功能 編寫人 超哥 編寫日期 步驟分析 1 配置日誌記錄器名稱 2 配置日誌級別 3 配置日誌格式 可以分別設定,也可以統一設定 4 建立並新增handl...
控制台輸出控制
by jingzhongrong 通過win32api提供的函式,可以對控制台程式的輸出進行控制,例如字型顏色 標題文字,以及各種屬性等等。主要使用到的函式以及宣告如下 handle getstdhandle dword nstdhandle 此函式用於獲取控制台輸出 輸入控制代碼。得到控制代碼之後...
python控制台輸出顏色
python控制台輸出顏色,out 是基本方法,還封裝了一些基本顏色方法,如red blue green 等 out 方法的color引數表示顏色,bgcolor表示背景顏色,style表示樣式 其他方法的引數類似,三個引數的具體取值封裝到color類,bgcolor類,style類中。基本方法 o...