Django logging配置
1,在项目下建个文件夹 log
2,在django的setting的配置下添加路径 BASE_LOG_DIR = os.path.join(BASE_DIR, "log")
- LOGGING = {
- 'version': 1,
- 'disable_existing_loggers': False,
- 'formatters': {
- 'standard': {
- 'format': '[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]'
- '[%(levelname)s][%(message)s]'
- },
- 'simple': {
- 'format': '[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s'
- },
- 'collect': {
- 'format': '%(message)s'
- }
- },
- 'filters': {
- 'require_debug_true': {
- '()': 'django.utils.log.RequireDebugTrue',
- },
- },
- 'handlers': {
- 'console': {
- 'level': 'DEBUG',
- 'filters': ['require_debug_true'], # 只有在Django debug为True时才在屏幕打印日志
- 'class': 'logging.StreamHandler',
- 'formatter': 'simple'
- },
- 'default': {
- 'level': 'INFO',
- 'class': 'logging.handlers.RotatingFileHandler', # 保存到文件,自动切
- 'filename': os.path.join(BASE_LOG_DIR, "info.log"), # 日志文件
- 'maxBytes': 1024 * 1024 * 500, # 日志大小 500M
- 'backupCount': 3,
- 'formatter': 'standard',
- 'encoding': 'utf-8',
- },
- 'error': {
- 'level': 'ERROR',
- 'class': 'logging.handlers.RotatingFileHandler', # 保存到文件,自动切
- 'filename': os.path.join(BASE_LOG_DIR, "err.log"), # 日志文件
- 'maxBytes': 1024 * 1024 * 500, # 日志大小 500M
- 'backupCount': 5,
- 'formatter': 'standard',
- 'encoding': 'utf-8',
- },
- 'collect': {
- 'level': 'INFO',
- 'class': 'logging.handlers.RotatingFileHandler', # 保存到文件,自动切
- 'filename': os.path.join(BASE_LOG_DIR, "collect.log"),
- 'maxBytes': 1024 * 1024 * 500, # 日志大小 500M
- 'backupCount': 5,
- 'formatter': 'collect',
- 'encoding': "utf-8"
- }
- },
- 'loggers': {
- # 默认的logger应用如下配置
- '': {
- 'handlers': ['default', 'console', 'error'], # 上线之后可以把'console'移除
- 'level': 'DEBUG',
- 'propagate': True,
- },
- # 名为 'collect'的logger还单独处理
- 'collect': {
- 'handlers': ['console', 'collect'],
- 'level': 'INFO',
- }
- },
- }
3,如何引用:
在当前文件下 :
import logging
- # 生成一个以当前文件名为名字的 logger实例
logger = logging.getLogger(__name__)
# 生成一个名字为collect的日志实例
collect_logger = logging.getLogger('collect')
logger.warning() warning级别
collect_logger.info() info级别
logger.debug() debug级别
logger.info() info级别
Django logging配置的更多相关文章
- ModelViewSet 路由 / django logging配置 / django-debug-toolbar使用
一.ModelViewSet 路由 因为我们正在使用ViewSet代替View,实际上已经不再需要自己来设计URL的配置了.将资源和视图.URL绑定到一起是一个可以自动完成的过程,只需要使用Route ...
- python 全栈开发,Day96(Django REST framework 视图,django logging配置,django-debug-toolbar使用指南)
昨日内容回顾 1. Serializer(序列化) 1. ORM对应的query_set和ORM对象转换成JSON格式的数据 1. 在序列化类中定义自定义的字段:SerializerMethodFie ...
- 第十三篇Django Logging配置样例
第十三篇Django Logging配置样例 阅读目录(Content) Django 日志配置模板 官方链接 Django Logging Django 日志配置模板 LOGGING = { 've ...
- Django—logging配置
我写Django项目常用的logging配置. # Django的日志配置项 BASE_LOG_DIR = os.path.join(BASE_DIR, "log") LOGGIN ...
- python3-开发进阶Django-debug-toolbar的配置和Django logging的配置
阅读目录 django-debug-toolbar的配置 Django logging的配置 一.django-debug-toolbar的配置 1.介绍 django-debug-toolbar 是 ...
- python logging 配置
python logging 配置 在python中,logging由logger,handler,filter,formater四个部分组成,logger是提供我们记录日志的方法:handler是让 ...
- django-debug-toolbar和Django 日志配置
django-debug-toolbar介绍 django-debug-toolbar 是一组可配置的面板,可显示有关当前请求/响应的各种调试信息,并在单击时显示有关面板内容的更多详细信息. gith ...
- Django logging模块
一.Django logging配置 1.在setting.py中配置 # 日志文件存放路径 BASE_LOG_DIR = os.path.join(BASE_DIR, "log" ...
- Django框架----logging配置
我写Django项目常用的logging配置.(追加在setting.py文件中) LOGGING = { 'version': 1, 'disable_existing_loggers': Fals ...
随机推荐
- Spring-扫描注解原理,注解自动扫描原理分析
注解自动扫描原理分析 在spring的配置文件中加入如下代码,spring便开启了自动扫描,那么它的底层到底是如何实现的呢? <context:component-scan base-packa ...
- 【题解】洛谷P3660 [USACO17FEB]Why Did the Cow Cross the Road III
题目地址 又是一道奶牛题 从左到右扫描,树状数组维护[左端点出现而右端点未出现]的数字的个数.记录每个数字第一次出现的位置. 若是第二次出现,那么删除第一次的影响. #include <cstd ...
- Maven基础入门与核心知识
Apache Maven是一个软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件. Maven是一个项目管理和综合工具.Maven提供了开 ...
- iframe 自适应
<iframe src="http://www.fulibac.com" id="myiframe" scrolling="no" o ...
- Python可变参数*和**
可变参数 在Python函数中,还可以定义可变参数.顾名思义,可变参数就是传入的参数个数是可变的,可以是1个.2个到任意个,还可以是0个. 我们以数学题为例子,给定一组数字a,b,c……,请计算a2 ...
- Spring自定义类扫描器 ClassPathScanningCandidateComponentProvider
项目中有个需求 读取xml文件,然后 对xml文件进行解析,比如如果是 Gender=0/1的话,分别代表男女. 所以需要在构造函数之后,初始化bean之前进行过滤解析 xml文件: <inte ...
- docker基础维护命令
docker images显示当前存在的images docker ps,显示当前的container docker rm containerId 删除指定的container(需要先停止,才能删除) ...
- Python连接SQL Server数据库 - pymssql使用基础
连接数据库 pymssql连接数据库的方式和使用sqlite的方式基本相同: 使用connect创建连接对象 connect.cursor创建游标对象,SQL语句的执行基本都在游标上进行 cursor ...
- vue中@contextmenu在pc和mac中的区别
项目中有用到右键菜单,故用了@contextmenu,由于本人是用的PC电脑,所以一切正常, 但是有同事用mac测试了一下,问题随之而来,MAC上右键按下就触发了, PC上面是鼠标抬起才会触发,所以这 ...
- linux服务端日志中截取自己所需要的部分
近期开发一个图片处理的业务,涉及base64字符串解析的问题,为方便与友商间接口调试,日志中保存Base64.日,想想就肝儿疼,记录下来容易,取的时候难.为准确提取,配合两条命令即可. 1.获取日志所 ...