当前位置: 首页 > news >正文

wordpress 中文后台广州seo团队

wordpress 中文后台,广州seo团队,wordpress 优惠主机,济南优化网络营销需求 在Django项目中实现控制台输出到日志文件,并且设置固定的大小以及当超过指定大小后覆盖最早的信息。 系统日志 使用Django自带的配置,可以自动记录Django的系统日志。 可以使用logging模块来配置。下面是一个完整的示例代码,展示了如…

需求

Django项目中实现控制台输出到日志文件,并且设置固定的大小以及当超过指定大小后覆盖最早的信息。

系统日志

使用Django自带的配置,可以自动记录Django的系统日志。
可以使用logging模块来配置。下面是一个完整的示例代码,展示了如何在Djangosettings.py文件中配置日志记录。
确保在INSTALLED_APPS中包含了logging.config

INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',# 配置日志'logging.config',
]

settings.py中添加以下日志配置:

# 添加LOGGING配置
LOGGING = {'version': 1,'disable_existing_loggers': False,'formatters': {'verbose': {'format': '{levelname} {asctime} {module} {lineno} {process:d} {thread:d} {message}','style': '{',},'simple': {'format': '{levelname} {message}','style': '{',},},'handlers': {# 控制台输出'console': {'level': 'DEBUG','class': 'logging.StreamHandler','formatter': 'simple'},# 文件日志输出'file': {'level': 'INFO','class': 'logging.handlers.RotatingFileHandler','filename': os.path.join(BASE_DIR, 'django.log'),'maxBytes': 1024 * 1024 * 5,  # 最大文件大小为5MB'backupCount': 5,  # 保留5个备份文件'formatter': 'verbose'},},'loggers': {'django': {'handlers': ['console', 'file'],'level': 'INFO',},},
}

在这个配置中:
handlers部分定义了两种处理方式:控制台输出和文件输出。文件输出使用了RotatingFileHandler类,它可以限制日志文件的大小,并在达到最大值时自动创建新的日志文件,同时保留一定数量的旧日志文件。
formatters部分定义了日志消息的格式。
loggers部分指定了哪些日志应该被记录,以及它们使用的处理方式和级别。

此配置使得Django能够同时向控制台和指定的日志文件输出信息,日志文件的最大大小被限制为5MB,并且最多保留5个备份文件。当日志文件大小超过设定值时,最早的日志会被新日志覆盖。

formatter

可选择的输出格式见looging的官方文档。

实测结果

控制台输出
INFO "POST /login/ HTTP/1.1" 302 0
INFO:django.server:"POST /login/ HTTP/1.1" 302 0
INFO "GET /index/ HTTP/1.1" 200 5510
INFO:django.server:"GET /index/ HTTP/1.1" 200 5510
文件输出
INFO 2024-09-26 15:36:11,223 basehttp 124 26760 32436 "GET / HTTP/1.1" 200 5510
INFO 2024-09-26 15:36:11,238 basehttp 124 26760 15316 "GET /static/js/bootstrap.min.js HTTP/1.1" 200 37045
INFO 2024-09-26 15:36:11,239 basehttp 124 26760 23132 "GET /static/css/bootstrap.min.css HTTP/1.1" 200 121200
INFO 2024-09-26 15:36:11,239 basehttp 124 26760 23012 "GET /static/js/jquery.min.js HTTP/1.1" 200 84284

自定义日志

自定义一个类。

自定义类

import logging
from logging.handlers import RotatingFileHandlerclass MyLogging(logging.Logger):def __init__(self, name="mylog", level="DEBUG", file=None,fmt="%(asctime)s %(name)s %(filename)s [%(lineno)d] %(levelname)s:%(message)s"):# 直接超继承Logger中的namesuper().__init__(name)# 配置日志级别self.setLevel(level)# 初始化格式formatter = logging.Formatter(fmt)# 初始化处理器# 如果file为空,执行stream_handler, 不空,都执行# 自定义日志写入文件if file:# 创建日志记录器,指明日志保存路径,每个日志文件的最大值,保存的日志文件的个数上限。# file_handler = logging.FileHandler(file)file_handler = RotatingFileHandler(file, maxBytes=1024 * 1024, backupCount=5)# 设置handler级别file_handler.setLevel(level)# 添加handlerself.addHandler(file_handler)# 添加日志处理器file_handler.setFormatter(formatter)# 自定义日志在后台Console中打印stream_handler = logging.StreamHandler()stream_handler.setLevel(level)self.addHandler(stream_handler)stream_handler.setFormatter(formatter)if __name__ == "__main__":logger = MyLogging(file='./log.txt')logger.debug('hello world')logger.info('welcome to use logging')

settings.py中实例化

from static.utils.my_logging import MyLogging
# 启用日志文件
logger = MyLogging(file=os.path.join(BASE_DIR, 'sys_log.txt'))

实测结果

在这里插入图片描述

http://www.tj-hxxt.cn/news/9975.html

相关文章:

  • 万网可以花钱做网站123网址之家
  • 做网站推广需要花多少钱个人免费网站建设
  • 网站建设用的服务器进入百度
  • 网站开发是先做前段还是后台互联网广告投放
  • 宜春做网站搜狗seo软件
  • 免费的企业网页制作网站策划方案怎么做
  • 超炫html5网站模板seo系统培训班
  • 做代购网站有哪些东西吗北京seo供应商
  • 学校网站建设可行性分析2345浏览器
  • top wang域名做网站好网站关键词排名外包
  • 西宁网站建设模板广东深圳疫情最新消息今天
  • 数据库设计对网站开发的影响人民网疫情最新消息
  • 17做网店一样的网站百度新闻客户端
  • 电子商务网站有哪几种怎么免费注册域名
  • githuub怎么做网站电商网站公司
  • 知名企业网站人才招聘情况如何整合营销策略
  • 做棋牌网站国内新闻最新消息今天
  • cdn 动态网站seo关键词优化方法
  • 网站制作网站建设需要多少钱巩义网络推广
  • 腾讯云ADM怎么做网站徐州seo外包
  • 北京星光灿烂影视有限公司站长工具seo排名查询
  • 做网站注册会员加入实名认证功能优化关键词排名软件
  • 移动端网站如何做导出功能外链发布论坛
  • 做阿里巴巴网站电话软件推广接单平台
  • 杭州租房网站建设seo快速收录快速排名
  • 有哪些可以做兼职的翻译网站知名seo公司
  • 常州哪家做网站便宜seo算法培训
  • 网站建站推广sem是什么设备
  • 汕头建设工程总公司新手seo入门教程
  • 一个网站多大空间关键词app