python控制台log輸出儲存

2022-08-28 19:21:16 字數 1424 閱讀 3757

日誌輸出與儲存

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...