怎么在Django中配置日志实现按日期滚动

  介绍

怎么在Django中配置日志实现按日期滚动?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强>修改配置文件

LOGGING =, {   ,& # 39;版本# 39;:,1,   ,& # 39;disable_existing_loggers& # 39;:,假的,   ,& # 39;格式器# 39;:,{   & # 39;才能详细# 39;:,{   ,,& # 39;格式# 39;:,& # 39;[% (asctime) s], [% (levelname) s], %(消息)& # 39;   ,,},   },   ,& # 39;处理程序# 39;:,{   #,才能输出日志的控制台   & # 39;才能控制台# 39;:,{   ,,& # 39;水平# 39;:,& # 39;信息# 39;   ,,& # 39;类# 39;:,& # 39;logging.StreamHandler& # 39;   ,,& # 39;格式化程序# 39;:,& # 39;详细# 39;   ,,},   #,才能输出日志到文件,按日期滚动   & # 39;才能文件# 39;:,{   ,,& # 39;水平# 39;:,& # 39;调试# 39;   ,,& # 39;类# 39;:,& # 39;logging.handlers.TimedRotatingFileHandler& # 39;   ,,#,TimedRotatingFileHandler的参数   ,,#,参照https://docs.python.org/3/library/logging.handlers.html timedrotatingfilehandler   ,,#,目前设定每天一个日志文件   ,,& # 39;文件名# 39;:,& # 39;日志/manage.log& # 39;   ,,& # 39;当# 39;:,& # 39;午夜# 39;   ,,& # 39;间隔# 39;:,1,   ,,& # 39;backupCount& # 39;:, 100年,   ,,& # 39;格式化程序# 39;:,& # 39;详细# 39;   ,,},   #,才能发送邮件,目前腾讯云,阿里云的服务器对外发送邮件都有限制,暂时不使用   & # 39;才能邮件# 39;:,{   ,,& # 39;水平# 39;:,& # 39;错误# 39;   ,,& # 39;类# 39;:,& # 39;django.utils.log.AdminEmailHandler& # 39;   ,,& # 39;include_html& # 39;:,真的,   ,,}   },   ,& # 39;伐木工# 39;:,{   #,才能不同的记录器   & # 39;才能django # 39;:, {   ,,& # 39;处理程序# 39;:,(& # 39;控制台# 39;,,& # 39;文件# 39;],   ,,& # 39;水平# 39;:,& # 39;信息# 39;   ,,& # 39;传播# 39;:,真的,   ,,},   },   }

<>强创建日志目录

cd  django_logs/mkdir 日志

<强>新增django_logs/记录器。py

import 日志记录   logger =, logging.getLogger (& # 39; django # 39;)

<强>验证

创建应用

python  manage.py  startapp 应用

<强>编写视图函数

编写一个视图函数,使用记录器用于往日志文件写入日志

django_logs/app/观点。py

得到logger  import 记录器   得到django.shortcuts  import  HttpResponse      def  test_logger(请求):   ,logger.info (& # 39; test 日志# 39;)   ,return  HttpResponse (& # 39; test 日志# 39;)

<强>配置Url

django_logs/项目/Url。py

得到app  import 观点   得到django.contrib  import 管理   得到django.urls  import 路径      urlpatterns =, (   ,路径(& # 39;管理/& # 39;,,admin.site.urls),   ,路径(& # 39;test_log/& # 39;,, views.test_logger),   )

<强>调用

访问http://127.0.0.1:8000/test_log/,/在日志管理。日志中成功写入

(2018 - 05 - 18, 08:35:44,317],[信息],test 日志   (2018 - 05 - 18,08:35:44,318],[信息],“GET /test_log, HTTP/1.1“, 200年,8

最后,修改系统日期,可以看到日志文件会按天进行分割。

日志写入仅仅对于创建的记录器对象有效,如果需要使用日志直接写入,则需要再做一些修改:让日志记录模块使用django的dictConfig。

import  logging.config   得到django.conf  import 设置      时间=logger  logging.getLogger (& # 39; django # 39;)   logging.config.dictConfig (settings.LOGGING)

看完上述内容,你们掌握怎么在Django中配置日志实现按日期滚动的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

怎么在Django中配置日志实现按日期滚动