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. vue脚手架搭建移动端项目--flexible.js

    通过命令行 node -v 查看是否安装node环境 在 nodejs 和 webpack已安装的前提下,随便一个文件夹下,输入命令行 npm install vue-cli -g 安装完成后,通过 ...

  2. 神经网路-SGD-1

    SGD神经网络以及python中实现 1.SGD(stochastic gradient descend):<1>数据抽取:<2>计算梯度;<3>参数更新:< ...

  3. centos7之zabbix3.2的fping监控

    zabbix通过fping检测主机网络状态 fping的官方网站:http://www.fping.org/ 官网指定的github的地址:https://github.com/schweikert/ ...

  4. Android学习第8天

    进程的概念 a)        四大组件都运行在主线程中 b)        服务是没有界面的,可理解为没有界面的Activity c)         进程的优先级 i.              ...

  5. Flask websocket

    websocket 概念 是一套协议,协议规定了: - 连接时需要握手 - 发送数据进行加密 - 连接之后不断开 意义 实现长轮询等操作 框架支持 - flask,gevent-websocket - ...

  6. Linux安装Tomcat8

    前置条件 安装jdk,见参考文章 下载Tomcat8 先从tomcat网站上下载最新的.gz安装包 tomcat官网下载地址 在下面找到Linux对应的tomcat安装包 我下载的文件名是:apach ...

  7. GWAS分析基本流程及分析思路

    数据预处理(DNA genotyping.Quality control.Imputation) QC的工作可以做PLINK上完成Imputation的工作用IMPUTE2完成 2. 表型数据统计分析 ...

  8. busybox编译

    sync.c:(.text.sync_main+0x7c): undefined reference to `syncfs'Coreutils—>sync选项去掉 nsenter.c:(.tex ...

  9. 金融量化分析【day111】:Matplotib-图标标注

    一.图像标注 1.股票 df = pd.read_csv('601318.csv') df.plot() plt.plot([1,3,4,5]) plt.plot([5,8,7,9]) plt.tit ...

  10. 单例模式的七种实现-Singleton(Java实现)

    1. 饿汉式 实现代码: public class Singleton { private Singleton() { } private static Singleton singleton = n ...