Backend - 日志記錄

目錄

1. settings.py 文件設定

2. book_log.py 文件設定

3. view 視圖文件調用


1. settings.py 文件設定

文件位置:BookProject 目錄下

LOG_PATH = os.path.join(os.getcwd(), 'logs') ?# 設定日志文件位置:項目名下的logs文件夾中

2. book_log.py 文件設定

文件位置:BookApp.views.tools 中

理解下方代碼的時間線:-----要刪除文件的所在時間范圍-----mark_day節點-----暫時保留文件的所在時間-----today節點---->

import os
from BookProject.settings import LOG_PATH
from threading import Thread
import logging
import logging.handlers
import datetime
# 生成 logs 文件夾
if not os.path.exists(LOG_PATH):os.mkdir(LOG_PATH)
# 生成 log 文件
log_file_name=os.path.join(LOG_PATH,'{}.log'.format(str(datetime.datetime.now().strftime('%Y-%m-%d')))) ?# 項目名\logs\XXXX-XX-XX.log
# log日志的基礎配置
logging.basicConfig(handlers=[logging.handlers.TimedRotatingFileHandler(filename=log_file_name, when='D', interval=60*60*24, backupCount=2)],level=logging.DEBUG,format='%(asctime)s ?%(message)s' ?# 日志內容的展示格式,datefmt='[%Y-%m-%d %H:%M:%S]' # 日志內容的記錄時間格式)
# 操作成功的日志記錄
def info_threadjob(msg):logging.info(msg)
def log_success(msg):t1 = Thread(target=info_threadjob, args=(msg,))t1.start()
# 操作失敗的日志記錄
def err_threadjob(msg):logging.exception(msg)
def log_error(msg):t1 = Thread(target=err_threadjob, args=(msg,))t1.start()
# 刪除幾天前操作的日志文件
def del_logs():day_len = 1 # 天數today = datetime.datetime.now() ?# 今天時間prev_day = datetime.timedelta(days=-day_len) ?# 前 day_len 天mark_day = today + prev_day ?# 前day_len天的具體日期時間節點,2023-01-27 16:29:29.206065res_list = os.listdir(LOG_PATH) ?# 日志文件位置列表for r in res_list: # 循環每個日志文件log_file = os.path.join(LOG_PATH, r)file_time = os.path.getmtime(log_file) ?# 文件的最后修改時間(注意是文件實實在在有修改的時間,而不是文件內容里的時間,也不是日志文件名上的時間)if datetime.datetime.fromtimestamp(file_time) <= mark_day: # 前者 2021-01-28 16:12:02.148921os.remove(log_file)

3. view 視圖文件調用

注意:寫入日志的內容,不能有中文

from BookApp.views.tools.book_log import *
log_success("1. start getting data from from_db") ?# 記錄操作成功訊息
try:del_logs() ?# 刪除已有日志文件
except Exception as e:log_error("error: {}".format(str(e))) ?# 記錄操作失敗訊息

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/719037.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/719037.shtml
英文地址,請注明出處:http://en.pswp.cn/news/719037.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++ 創建并初始化對象

創建并初始化C對象 當我們創建一個C對象時&#xff0c;它需要占用一些內存&#xff0c;即使我們寫一個完全為空的類&#xff0c;類中沒有成員&#xff0c;什么也沒有&#xff0c;它至少也要占用一個字節的內存。但是我們類中有很多成員&#xff0c;它們需要存儲在某地方&#…

【擴散模型】生成模型中的Residual Self-Attention UNet 以及 DDPM的pytorch代碼

參考&#xff1a; [1] https://github.com/xiaohu2015/nngen/blob/main/models/diffusion_models/ddpm_cifar10.ipynb [2] https://www.bilibili.com/video/BV1we4y1H7gG/?spm_id_from333.337.search-card.all.click&vd_source9e9b4b6471a6e98c3e756ce7f41eb134 TOC 1 UNe…

視黃酸誘導基因-1敲除誘導樹突狀細胞的不成熟特性并延長異體移植小鼠的存活時間研究【AbMole】

器官移植是一種用于替換因疾病、損傷或其他原因受損的人體器官的醫療程序。盡管器官移植可以挽救生命并顯著提高生活質量&#xff0c;但存在供體器官短缺、排斥反應、器官功能障礙、感染和藥物副作用等問題。為了提高移植成功率和受體健康&#xff0c;需要有效的免疫策略。樹突…

如何使用支付寶沙箱環境本地配置模擬支付并實現公網遠程訪問【內網穿透】

文章目錄 前言1. 下載當面付demo2. 修改配置文件3. 打包成web服務4. 局域網測試5. 內網穿透6. 測試公網訪問7. 配置二級子域名8. 測試使用固定二級子域名訪問 前言 在沙箱環境調試支付SDK的時候&#xff0c;往往沙箱環境部署在本地&#xff0c;局限性大&#xff0c;在沙箱環境…

原理篇-- 定時任務xxl-job-服務端(admin)項目啟動過程--JobFailMonitorHelper初始化 (5)

文章目錄 前言一、JobFailMonitorHelper作用&#xff1a;二、JobFailMonitorHelper源碼內容&#xff1a;2.1 start() 初始化2.1.1 任務失敗重試:2.1.2 任務失敗告警信息發送:2.1.2.1 JobAlarmer 告警類&#xff1a;2.1.2.2 alarm 告警信息發送&#xff1a; 2.2 toStop() 終止線…

數據可視化原理-騰訊-3D網格熱力圖

在做數據分析類的產品功能設計時&#xff0c;經常用到可視化方式&#xff0c;挖掘數據價值&#xff0c;表達數據的內在規律與特征展示給客戶。 可是作為一個產品經理&#xff0c;&#xff08;1&#xff09;如果不能夠掌握各類可視化圖形的含義&#xff0c;就不知道哪類數據該用…

壁爐火焰溫和而寧靜,警惕火焰兇猛的潛在危害

在寒冷的冬夜&#xff0c;壁爐散發的溫暖和閃爍的火焰成為家庭的心靈港灣。然而&#xff0c;我們在享受壁爐帶來的溫馨時&#xff0c;有時候也要關注火焰的兇猛度&#xff0c;因為它可能引發一系列潛在危害。 首先&#xff0c;壁爐的火焰過于兇猛可能導致空氣質量下降。當火焰過…

從零開始手寫RPC框架(4)

這一節主要講述網絡傳輸模塊的代碼&#xff0c;并且幾乎每一行代碼都加上了我個人理解的注釋&#xff0c;同時也講述了其中一些以前沒見過的函數&#xff0c;和大致的底層運行邏輯。 目錄 網絡傳輸實體類網絡傳輸實現基于Socket實現網絡傳輸基于Netty實現網絡傳輸客戶端服務端 …

【JavaEE進階】 Linux常用命令

文章目錄 &#x1f343;前言&#x1f334;ls 與 pwd&#x1f6a9;ls&#x1f6a9;pwd &#x1f38d;cd&#x1f6a9;認識Linux目錄結構 &#x1f340;touch與cat&#x1f6a9;touch&#x1f6a9;cat &#x1f332;mkdir與rm&#x1f6a9;mkdir&#x1f6a9;rm &#x1f384;cp與…

GD庫沒有安裝FreeType 支持Call to undefined function App\Services\imagettfbbox()

GD庫是一個功能強大的圖像處理庫&#xff0c;廣泛用于生成和處理圖像。然而&#xff0c;默認情況下&#xff0c;GD庫不包含FreeType擴展&#xff0c;該擴展用于處理字體和文本。如果您需要在GD庫中使用更多的字體和文本效果&#xff0c;您可以按照以下步驟安裝和啟用FreeType擴…

十五、單詞造句

描述 GG Bond在和妹妹做一個游戲&#xff0c;GG Bond給定了妹妹一些單詞字符串&#xff0c;他想讓妹妹把這些單詞拼接成以空格間隔開的句子&#xff0c;很可惜妹妹Python沒有學好&#xff0c;你能使用join函數幫幫她嗎&#xff1f; 輸入描述&#xff1a; 多行輸入多個字符串…

Java基礎 - 7 - 常用API(二)

API&#xff08;全稱 Application Programming Interface&#xff1a;應用程序編程接口&#xff09; API就是Java幫我們已經寫好的一些程序&#xff0c;如類、方法等&#xff0c;可以直接拿過來用 JDK8 API文檔&#xff1a;Java Platform SE 8 一. Object Object類的作用 Ob…

mybatis多數據源切換

1.前提 項目中有可能需要去其他的數據庫取其他的表的信息 2.思路 2.1 直接使用原生jdbc&#xff08;不推薦&#xff09; 2.2 不使用我們全局配置的mybatis&#xff0c;對指定文件夾下使用我們指定的Session 3.解決辦法 指定該配置的范圍 package com.maycur.openapi.dao.my…

『Linux從入門到精通』第 ? 期 - 管道

文章目錄 &#x1f490;專欄導讀&#x1f490;文章導讀&#x1f427;進程間通信的目的&#x1f427;如何進行進程間通信&#x1f427;進程間通信的分類&#x1f427;管道&#x1f426;什么是管道&#x1f426;管道原理 &#x1f427;實例代碼&#x1f427;管道的特點&#x1f4…

Protobuf學習筆記以及序列化的一些概念要點(暫放C++筆記專欄)

Protobuf學習筆記以及序列化的一些概念要點 —— 杭州 2024-03-03 文章目錄 Protobuf學習筆記以及序列化的一些概念要點1.Protobuf概念2.實際測試2.1.準備一個test.proto2.2.使用 protoc 命令行工具來編譯一個 Protocol Buffers 文件 test.proto3.3.創建一個main.cpp寫C++代碼…

mysql 事務的隔離級別

一、事務的隔離級別要解決的問題&#xff1a; 1&#xff09;臟讀&#xff1a;讀到了其它事務未提交的數據即臟讀&#xff0c;未提交意味著數據有可能會被回滾&#xff0c;也就是最終有可能不會存儲到數據庫中&#xff0c;即讀到了最終不一定存在存在的數據&#xff0c;即為臟讀…

如何選擇程序員職業賽道:挑戰與機遇并存的職業探索指南

程序員如何選擇職業賽道&#xff1f; 作為程序員&#xff0c;選擇職業賽道是一項重要的決策&#xff0c;不僅影響你的職業發展&#xff0c;也影響著你的工作生活。本文將為你介紹如何選擇程序員職業賽道&#xff0c;以及每個方向的特點、挑戰和機遇&#xff0c;幫助你做出明智…

《極客時間 - 左耳聽風》【文章筆記 + 個人思考】

《極客時間 - 左耳聽風》 原文鏈接 &#xff1a;https://time.geekbang.org/column/intro/100002201?tabcatalog 備注&#xff1a;加粗部分為個人思考 01 | 程序員如何用技術變現&#xff1f;&#xff08;上&#xff09; 備注&#xff1a;加粗部分為個人思考) 01 | 程序員如何…

Window系統部署Splunk Enterprise并結合內網穿透實現遠程訪問本地服務

文章目錄 前言1. 搭建Splunk Enterprise2. windows 安裝 cpolar3. 創建Splunk Enterprise公網訪問地址4. 遠程訪問Splunk Enterprise服務5. 固定遠程地址 前言 本文主要介紹如何簡單幾步&#xff0c;結合cpolar內網穿透工具實現隨時隨地在任意瀏覽器&#xff0c;遠程訪問在本地…

【24最新版PythonPycharm安裝教程】小白保姆級別安裝教程

今天&#xff0c;我就來教大家一下&#xff0c;如何去安裝Python&#xff01; 需要博主打包好的一鍵激活版Pycharm&&Python也可掃下方直接獲取 ? 1 了解Python Python是一種面向對象的解釋型計算機程序設計語言&#xff0c;由荷蘭人Guido van Rossum于1989年發明&…