PYTHON 寫日誌的分割方案

2021-09-02 14:18:54 字數 1950 閱讀 7965

按照時間進行分割

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