文档章节

django中使用日志文件记录信息

r
 ranvane
发布于 2014/11/13 00:35
字数 354
阅读 146
收藏 1

这两天一直在测试windows下nginx部署django程序,因为一些奇葩的问题,导致了部署不成功,而且不知道问题出在哪里,不得已,找了个django日志的配置文件修改、调试了一下,解决了问题。说起来慢慢的都是泪啊,现在分享给大家:

将下列代码添加到setting中,对日志文件路径不满意的,可以找到代码中的filename修改:

#导入模块
import logging
import django.utils.log
import logging.handlers

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
       'standard': {
            'format': '%(asctime)s [%(threadName)s:%(thread)d] [%(name)s:%(lineno)d] [%(module)s:%(funcName)s] [%(levelname)s]- %(message)s'}  #日志格式 
    },
    'filters': {
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'class': 'django.utils.log.AdminEmailHandler',
            'include_html': True,
        },
        'default': {
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler',
            'filename': BASE_DIR+'/django_all.log',     #日志输出文件
            'maxBytes': 1024*1024*5,                  #文件大小 
            'backupCount': 5,                         #备份份数
            'formatter':'standard',                   #使用哪种formatters日志格式
        },
        'error': {
            'level':'ERROR',
            'class':'logging.handlers.RotatingFileHandler',
            'filename': BASE_DIR+'/django_error.log',
            'maxBytes':1024*1024*5,
            'backupCount': 5,
            'formatter':'standard',
        },
        'console':{
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'standard'
        },
        'request_handler': {
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler',
            'filename': BASE_DIR+'/django_script.log', 
            'maxBytes': 1024*1024*5, 
            'backupCount': 5,
            'formatter':'standard',
        },
        'scprits_handler': {
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler',
            'filename':BASE_DIR+'script.log', 
            'maxBytes': 1024*1024*5, 
            'backupCount': 5,
            'formatter':'standard',
        }
    },
    'loggers': {
        'django': {
            'handlers': ['default', 'console'],
            'level': 'DEBUG',
            'propagate': False 
        },
        'django.request': {
            'handlers': ['request_handler'],
            'level': 'DEBUG',
            'propagate': False,
        },
        'scripts': { 
            'handlers': ['scprits_handler'],
            'level': 'INFO',
            'propagate': False
        },
        'file_out.views': {
            'handlers': ['default', 'error'],
            'level': 'DEBUG',
            'propagate': True
        },
        'sourceDns.webdns.util':{
            'handlers': ['error'],
            'level': 'ERROR',
            'propagate': True
        }
    } 
}

然后在要使用日志的模块中使用:

#导入模块
import logging

logger = logging.getLogger('file_out.views')
logger.error('打印日志')

import logging.handlers


© 著作权归作者所有

共有 人打赏支持
r
粉丝 8
博文 59
码字总数 23323
作品 0
兰州
在django中使用logging模块

logging是Python 2.3起自带的标准模块,可以用来从运行状态的程序中记录日志。logging模块的功能非常强大,可以非常灵活的向各种预定或者自定的目标输出日志。而利用标准的logging模块,Dja...

picpld
2012/11/30
0
0
Linux下配置Django_Apache_Mysql环境(CentOS 7.5)

本文将介绍如何在Linux上部署Django + Mysql + Apache环境。我们知道,Django内置的http服务器只能工作在单线程下,做开发和调试时候是可以的,但是生产环境通常都会有多用户并发,而且djang...

爱吃甜食的boy
前天
0
0
使用Nginx+uWSGI方法部署Django web程序

在上一篇文章《五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(上)》中,阐述了如何只使用uWSGI来部署Django程序。 当然,单单只有uWSGI是不够的,在实际的部署环境中,Nginx是必不可...

IamOkay
2016/04/16
87
0
Python logging 库的『完整教程』

前言 本文的标题是『完整』。所谓『完整』,大意是想表达:提炼出一组最小的经验组合,并且能够快速应用于工程中,能 work,甚至能完美地 work。这篇文章就是想要做到『如何能完美地work』。...

hezhiming
05/18
0
0
域名访问nginx,uwsgi,django产生的400问题

如题,今天新开了一组服务,使用最流行的搭配nginx,uwsgi,django起了一个8000端口的http服务,一切正常以后准备使用域名解析访问。可是使用域名时一直出现400 第一步,怀疑域名解析没有生效...

fromdtor
2016/10/22
27
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JS三元运算示例

1. topFlag=topFlag ==0?1:0; 等于 if(topFlag=00){ topFlag=1; }else if(topFlag == 1){ topFlag=0; } 2. 5>3?alert('5大'):alert('3大'); 即 if(5>3){alert('5大')}else{alert('3大')}; 注......

森火
今天
0
0
利用Slf4j的MDC跟踪方法调用链

why? 一个web项目通常提供很多URL访问地址, 项目一般都是分层处理,例如Controller——>Service——>DAO。 如果想根据日志查看用户一次请求都走了哪些方法(多数是查错误)。 如果系统是多人...

杨春炼
今天
7
0
Maven介绍及安装

Maven介绍及安装 以下内容是本人早期学习时的笔记,可能比较详实繁琐,现在复习一下Maven,顺便将内容抛出来,供大家一起学习进步。 一、Maven简介 Maven是Apache旗下的一款项目管理工具,是...

星汉
今天
0
0
小程序Aes解密

主要步骤: 1、下载AES源码(JS版) 2、在小程序中新建一个公共的文件夹,把AES源码拷贝进去(注意:需要暴露接口 module.exports = CryptoJS;) 3、添加一个用于加密解密的公共JS,可取名为...

Mr_Tea伯奕
今天
0
0
Go实现文件传输(基本传输可用)

发送端 package mainimport ("fmt""os""net""io")func SendFile(path string, connect net.Conn){file, oerr :=os.Open(path)if oerr !=nil{fmt.Println("Open", oerr)......

CHONGCHEN
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部