格式 | 描述 |
filename | 指定使用指定的文件名而不是 StreamHandler 創建 FileHandler。 |
filemode | 如果指定 filename,則以此模式打開文件(‘r'、‘w'、‘a')。默認為“a”。 |
format | 為處理程序使用指定的格式字符串。 |
datefmt | 使用 time.strftime() 所接受的指定日期/時間格式。 |
style | 如果指定了格式,則對格式字符串使用此樣式。'%' 用于 printf 樣式、'{' 用于 str.format()、'$' 用于 string。默認為“%”。 |
level | 將根記錄器級別設置為指定的級別。默認生成的 root logger 的 level 是 logging.WARNING,低于該級別的就不輸出了。級別排序:CRITICAL > ERROR > WARNING > INFO > DEBUG。(如果需要顯示所有級別的內容,可將 level=logging.NOTSET) |
stream | 使用指定的流初始化 StreamHandler。注意,此參數與 filename 不兼容——如果兩者都存在,則會拋出 ValueError。 |
handlers | 如果指定,這應該是已經創建的處理程序的迭代,以便添加到根日志程序中。任何沒有格式化程序集的處理程序都將被分配給在此函數中創建的默認格式化程序。注意,此參數與 filename 或 stream 不兼容——如果兩者都存在,則會拋出 ValueError。 |
import logging logging.basicConfig(level=logging.INFO, format='%(asctime)s %(filename)s %(levelname)s %(message)s', datefmt='%a %d %b %Y %H:%M:%S', filename='xuehui.log', filemode='w') logging.info('This is a info.') logging.debug('This is a debug message.') logging.warning('This is a warning.')
import logging import os.path import time #創建logger logger = logging.getLogger() logger.setLevel(logging.DEBUG) # 創建handler,用于寫入日志文件 logdate = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time())) log_path = 'logs/' log_name = log_path + logdate + '.log' logfile = log_name fh = logging.FileHandler(logfile, mode='w') fh.setLevel(logging.DEBUG) # 定義輸出格式 formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s") fh.setFormatter(formatter) # 將logger添加到handler logger.addHandler(fh) # 日志 logger.debug('this is a logger debug message') logger.info('this is a logger info message') logger.warning('this is a logger warning message') logger.error('this is a logger error message') logger.critical('this is a logger critical message')
import logging import os.path import time #創建logger logger = logging.getLogger() logger.setLevel(logging.DEBUG) # 創建handler,用于寫入日志文件 logdate = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time())) log_path = 'logs/' log_name = log_path + logdate + '.log' logfile = log_name fh = logging.FileHandler(logfile, mode='w') fh.setLevel(logging.DEBUG) # 定義輸出格式 formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s") fh.setFormatter(formatter) # 將logger添加到handler logger.addHandler(fh) # 日志 try: open('/data/exist', 'rb') except BaseException as e: logger.error('Failed to open file', exc_info=True)
到此這篇關于Python基礎之logging模塊知識總結的文章就介紹到這了,更多相關Python logging模塊內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
上一篇:python防止棧溢出的實例講解