介绍
怎么在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中配置日志实现按日期滚动的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!