django 日志

四大块,格式器,过滤器,处理器,日志管理器

LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {# 日志格式
'standard': {
'format': '%(asctime)s [%(threadName)s:%(thread)d] '
'[%(pathname)s:%(funcName)s:%(lineno)d] [%(levelname)s]- %(message)s'}
},
'filters': {# 过滤器
'test':{
'()': 'ops.TestFilter'
}
},
'handlers': {# 处理器
'null': {
'level': 'DEBUG',
'class': 'logging.NullHandler',
},
'error_handler': {# error内容输出到另外的文件
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': os.path.join(LOG_DIR,'error.log'),#日志输出文件
'maxBytes':1024*1024*5,#文件大小
'backupCount': 5,#备份份数
'formatter':'standard',#使用哪种formatters日志格式
'encoding': 'utf8',
},
'file_handler': {# 记录到日志文件(需要创建对应的目录,否则会出错)
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': os.path.join(LOG_DIR,'service.log'),# 日志输出文件
'maxBytes':1024*1024*5,#文件大小
'backupCount': 5,#备份份数
'formatter':'standard',#使用哪种formatters日志格式
'encoding': 'utf8',
},
'console_handler':{# 输出到控制台
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'standard',
},
},
'loggers': {# logging管理器
'django': {
# 'handlers': ['console_handler', 'file_handler', 'error_handler'],
'handlers': ['console_handler', 'file_handler'],
'filters': ['test'],
'level': 'DEBUG'
}
}
}
import os
import django
import logging os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'backend.settings')
django.setup() def logger_demo():
logger = logging.getLogger('django')
logger.info('hello world')
logger.info('hello world [FILTER FLAG]') logger.debug('debug message') logger.error('error message') if __name__ == '__main__':
logger_demo()

  

django-crontab 在win中不可用

crontab

https://lupython.gitee.io/2017/10/08/%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1/

crontab 在django中提交给linux服务器使用
安装
pip3 install django-crontab

配置setting中增加app:django_crontab
#每一分钟执行一次
CRONJOBS = [
('*/1 * * * *', 'cron.jobs.demo')
]

'0 12 * * *', 'cron.jobs.demo' #每天12点整执行一次
'0 12 * * 1-5', 'cron.jobs.demo' #周一到周五每天12点整执行一次

在cron文件夹下jobs.py 添加demo函数,放执行代码

也可以添加打印到log:

import logging

logger=logging.getLogger('django')

demo函数中最后放入logger.info(打印内容)

linux中查看crontab :
python3 manage.py crontab show
或者查看系统是否有定时任务:crontab -l
crontab -e 查看详细
linux中添加crontab :
python3 manage.py crontab add
除了show,add以及还有remove/run命令

打印django日志
cd log/
ls
tail -f service.log

django邮件模块

简单邮件传输协议simple mail transfer protocol
smtp服务使用tcp端口25,加密通道端口是465
使用QQ邮箱smtp服务需要授权码

qq邮箱setting-开启服务:IMAP/SMTP服务
授权码:gwmwrhyhdtynbhag

django-settings中配置

# Email config
# QQ邮箱 SMTP 服务器地址
EMAIL_HOST = 'smtp.qq.com'
# 端口
EMAIL_PORT = 465
# 发送邮件的邮箱
EMAIL_HOST_USER = 'dujun31@vip.qq.com'
# 在邮箱中设置的客户端授权密码
EMAIL_HOST_PASSWORD = 'gwmwrhyhdtynbhag'
# 开启TLS
EMAIL_USE_TLS = True
# 收件人看到的发件人
EMAIL_FROM = 'dujun31@vip.qq.com'

django测试列子

import os
import django
import smtplib
from backend import settings from email.mime.text import MIMEText os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'backend.settings')
django.setup() def send_mail():
msg = MIMEText("邮件通道测试", "plain", "utf-8")
msg['FROM'] = "Mail Test"
msg['Subject'] = "【Mail Test】"
receivers = ['349553119@qq.com']
server = smtplib.SMTP_SSL(settings.EMAIL_HOST, settings.EMAIL_PORT)
server.set_debuglevel(1)
server.login(settings.EMAIL_HOST_USER, settings.EMAIL_HOST_PASSWORD)
server.sendmail(settings.EMAIL_FROM, receivers, msg.as_string())
server.close()
pass if __name__ == '__main__':
send_mail()

  

django日志,django-crontab,django邮件模块的更多相关文章

  1. 运维开发笔记整理-django日志配置

    运维开发笔记整理-django日志配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Django日志 Django使用python内建的logging模块打印日志,Pytho ...

  2. Django日志

    Django日志 简单的Django日志 在settings里配置,会在屏幕输出日志 LOGGING = { 'version': 1, 'disable_existing_loggers': Fal ...

  3. python的日志模块:logging;django的日志系统;django日志输出时间修改

    Django的log,主要是复用Python标准库中的logging模块,在settings.py中进行配置 源代码 1.__init__.py包含以下类: StreamHandler Formatt ...

  4. Django 日志

    Django使用Python内置的logging模块实现它自己的日志系统. 如果你没有使用过logging模块,请参考Python教程中的相关章节. 直达链接<logging模块详解>. ...

  5. Django日志系统

    在Django中使用的日志系统是基于Python中的loggin模块. 首先简单介绍下logging. 一 Loggin模块简介 loggin模块主要包含以下四个部分: Loggers        ...

  6. Django(37)配置django日志

    前言   django框架的日志通过python内置的logging模块实现的,既可以记录自定义的一些信息描述,也可以记录系统运行中的一些对象数据,还可以记录包括堆栈跟踪.错误代码之类的详细信息.   ...

  7. 第六章:Django 综合篇 - 14:Django 日志

    Django使用Python内置的logging模块实现它自己的日志系统. 如果你没有使用过logging模块,请参考Python教程中的相关章节. 直达链接<logging模块详解>. ...

  8. Django学习之六:Django 常用模块导入记忆

    Django 常用模块导入记忆 django相关 1. urls相关操作 from django.urls import path, re_path, include from django.urls ...

  9. django 日志logging的配置以及处理

    django日志官方文档https://docs.djangoproject.com/en/1.11/topics/logging/ 本文摘自http://davidbj.blog.51cto.com ...

随机推荐

  1. Git命令集

    安装 Window https://gitforwindows.org/ MAC http://sourceforge.net/projects/git-osx-installer/ git conf ...

  2. 三十、小程序解析HTML(对富文本返回数据的处理)

    1.首先需要下载插件wxParse 下载地址 https://github.com/ZCLegendary/WXNews 百度云盘有保存 WXML <import src="../.. ...

  3. vue-百度地图-maker文字标签显示隐藏

    html: <div id="allmap" class="map"></div>   script:   mounted() { th ...

  4. C#中字符串的字面值(转义序列)

    在程序开发中,经常会碰到在字符串中字面值中使用转义序列,下面表格收集了下转义序列的完整列表,以便大家查看引用: 转义序列列表 转义序列 产生的字符 字符的Unicode值 \' 单引号 0x0027 ...

  5. PHP——判断是否为加密协议https

    前言 就是一个封装的方法,用来判断域名前面是加http还是https 代码 function is_ssl() { if(isset($_SERVER['HTTPS']) && ('1 ...

  6. MT【319】分段递推数列

    已知数列$ x_n $满足$ 0<x_1<x_2<\pi $,且\begin{equation*} x_{n+1}= \left\{ \begin{aligned}x_n+\sin ...

  7. [powershell]解决Win7SP1 powershell底色变成黑色

    删除补丁KB3191566 重新安装: https://docs.microsoft.com/en-us/powershell/scripting/install/installing-windows ...

  8. postgreSQL学习(二):pgsql的一些基础操作

    在上一篇文章中我们学习了怎么安装pgsql,安装好了后,我们来学习一下怎么对pgsql进行创建操作以及相关的crud的操作啦 一 创建数据库 $ createdb test 然后你可能会遇到如下的错误 ...

  9. ubuntu16.04+cuda9+cudnn7+tensorflow+pycharm环境搭建

    安装环境:ubuntu16.04+cuda9+cudnn7+tensorflow+pycharm 1)前期搭建过程主要是按照这篇博文,对于版本选择,安装步骤都讲得很详细,亲测有效! https://b ...

  10. 51nod1812树的双直径(换根树DP)

    传送门:http://www.51nod.com/Challenge/Problem.html#!#problemId=1812 题解:头一次写换根树DP. 求两条不相交的直径乘积最大,所以可以这样考 ...