有经验的合肥网站建设,金山网站安全检测,产品推广方案ppt模板,个人网站怎样申请目录
1. settings.py 文件设定
2. book_log.py 文件设定
3. view 视图文件调用 1. settings.py 文件设定
文件位置#xff1a;BookProject 目录下
LOG_PATH os.path.join(os.getcwd(), logs) # 设定日志文件位置#xff1a;项目名下的logs文件夹中
2. book_log.py 文…目录
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_nameos.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(filenamelog_file_name, whenD, interval60*60*24, backupCount2)],levellogging.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(targetinfo_threadjob, args(msg,))t1.start()
# 操作失败的日志记录
def err_threadjob(msg):logging.exception(msg)
def log_error(msg):t1 Thread(targeterr_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))) # 记录操作失败讯息