按照時間進行分割
import time
import logging
import logging.handlers
import os
# 如果日誌資料夾不存在,則建立
log_dir = "log-day"# 日誌存放資料夾名稱
log_path = os.getcwd() + os.sep + log_dir
if not os.path.isdir(log_path):
os.makedirs(log_path)
# logging初始化工作
logging.basicconfig()
# 定義乙個logger,logger相當於乙個記錄日誌的人
# #定義記錄日誌的級別
# 新增timedrotatingfilehandler 這個就是logger需要記錄日誌的規則。
# 定義乙個1天換一次log檔案的handler
# 保留3個舊log檔案
#handler定義規則
timefilehandler = logging.handlers.timedrotatingfilehandler(log_dir + os.sep + "sec.log",when='s', interval=1, backupcount=0,encoding = 'utf-8')
# 設定字尾名稱,跟strftime的格式一樣
timefilehandler.suffix = "%y-%m-%d_%h-%m-%s.log"
formatter = logging.formatter('%(asctime)s|%(name)-12s: %(levelname)-8s %(message)s')#%(asctime)s - %(levelname)s: %(message)s
#格式化規則
timefilehandler.setformatter(formatter)
#給記錄員新增記錄規則
logging.getlogger().addhandler(timefilehandler)
while true:
time.sleep(1)
logging.warning("test")
按照檔案大小進行分割
import time
import logging
import logging.handlers
import os
# 如果日誌資料夾不存在,則建立
log_dir = "log-day"# 日誌存放資料夾名稱
log_path = os.getcwd() + os.sep + log_dir
if not os.path.isdir(log_path):
os.makedirs(log_path)
# logging初始化工作
logging.basicconfig()
rthandler = logging.handlers.rotatingfilehandler(log_dir + os.sep + "sec.log", maxbytes=1024,backupcount=5,encoding = 'utf-8')
rthandler.suffix = "%y-%m-%d_%h-%m-%s.log"
formatter = logging.formatter('%(asctime)s|%(name)-12s: %(levelname)-8s %(message)s')#%(asctime)s - %(levelname)s: %(message)s
#格式化規則
rthandler.setformatter(formatter)
logging.getlogger().addhandler(rthandler)
while true:
logging.warning("test")
python專案 多程序日誌分割
前文說到uwsgi日誌分割,那個是屬於uwsgi專案的執行日誌,我們如果需要列印一些資訊的話,如果全放在裡面由於太多且多執行緒多程序會導致日誌錯亂,所以我決定再增加乙個程式執行日誌模組,然後踩坑開始了。def setup log log name 建立logger物件。傳入logger名字 logg...
python如何寫日誌 python如何寫日誌
這篇文章介紹了 python 的 logging 模組,包括它的設計以及針對更多複雜案例的適用方法。這篇文章不是寫給開發者的文件,它更像是乙個指導手冊,來說明 python 的 logging 模板是如何搭建的,並且激發感興趣的人深入研究。為什麼使用 logging 模組?也許會有開發者會問,為什麼...
python多程序 寫日誌問題
在使用 timedrotatingfilehandler python日誌切分的時候,遇到錯誤 os.rename source,dest permissionerror winerror 32 另乙個程式正在使用此檔案,程序無法訪問 是單程序的,最初遇到這個錯誤比較疑惑,最後發現是在 中 impo...