-
基本應用
-
日志處理本質:Logger/FileHandler/Formatter
-
推薦處理日志方式
import logging
file_handler = logging.FileHandler(filename='x1.log', mode='a', encoding='utf-8',)
logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s',
datefmt='%Y-%m-%d %H:%M:%S %p',
handlers=[file_handler,],
level=logging.ERRORlevel 默認是ERROR 可以指定level 日志只寫比 ERROR更高等級的 【 info < error < warning <.....】
)
logging.error('你好')
-
-
推薦處理日志方式 + 日志分割
import time
import logging
from logging import handlers
# file_handler = logging.FileHandler(filename='x1.log', mode='a', encoding='utf-8',)
file_handler = handlers.TimedRotatingFileHandler(filename='x3.log', when='s', interval=5, encoding='utf-8')
logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s',
datefmt='%Y-%m-%d %H:%M:%S %p',
handlers=[file_handler,],
level=logging.ERROR
)
for i in range(1,100000):
time.sleep(1)
logging.error(str(i))注意事項:
# 在應用日志時,如果想要保留異常的堆棧信息。
import logging
import requests
logging.basicConfig(
filename='wf.log',
format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s',
datefmt='%Y-%m-%d %H:%M:%S %p',
level=logging.ERROR
)
try:
requests.get('http://www.xxx.com')
except Exception as e:
msg = str(e) # 調用e.__str__方法
logging.error(msg,exc_info=True) -
# 單例模式 設計模式
# 什么是單例模式
# 單例的應用場景
# __new__方法 :創建實例的 並且在init之前工作
# logging模塊
# 記錄日志的
# 用戶 :
# 程序員 :
# 統計用的
# 用來做故障排除的 debug
# 用來記錄錯誤,完成代碼的優化的
# logging.basicconfig
# 使用方便
# 不能實現 編碼問題;不能同時向文件和屏幕上輸出
# logging.debug,logging.warning
# logger對象
# 復雜
# 創建一個logger對象
# 創建一個文件操作符
# 創建一個屏幕操作符
# 創建一個格式# 給logger對象綁定 文件操作符 # 吸星大法
# 給logger對象綁定 屏幕操作符
# 給文件操作符 設定格式
# 給屏幕操作符 設定格式# 用logger對象來操作
# logger = logging.getLogger()
# fh = logging.FileHandler('log.log') log信息文件寫入
# sh = logging.StreamHandler() log信息屏幕顯示
# logger.addHandler(fh) 吸星大法
# logger.addHandler(sh) 吸星大法
# formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# fh.setFormatter(formatter)
# sh.setFormatter(formatter)
# logger.warning('message')
19.項目結構目錄
# **************** 項目結構目錄文件夾 ****************# 6個項目目錄
# bin 可執行文件:程序入口
#config 配置&參數設置
# db 數據&內容
# lib 公共功能
# log 日志代碼
# src 業務代碼