django日志器

首先了解一下python的logging模块

import logging
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')

结果如下:
![Paste_Image.png](http://upload-images.jianshu.io/upload_images/4068471-932e18ef0ee5f9b8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

1.默认情况下python的logging模块将日志打印到了标准输出中,且只显示了大于等于WARNING级别的日志
2.日志级别等级CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET

详细文档可以参考:
http://python.usyiyi.cn/translate/python_278/howto/logging.html#logging-basic-tutorial
http://blog.csdn.net/zyz511919766/article/details/25136485

###在settings.py中添加如下信息:

自定义日志输出信息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': 'log/all.log',
        #日志输出文件'maxBytes': 1024*1024*5,
        #文件大小'backupCount': 5,
        #备份份数'formatter': 'standard',
        #使用哪种formatters日志格式
    },
    'error': {
        'level': 'ERROR',
        'class': 'logging.handlers.RotatingFileHandler',
        'filename': 'log/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': 'log/script.log',
        'maxBytes': 1024*1024*5,
        'backupCount': 5,
        'formatter': 'standard',
        
    },
    'scprits_handler': {
        'level': 'DEBUG',
        'class': 'logging.handlers.RotatingFileHandler',
        'filename': 'log/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
    },
    'blog.views': {
        'handlers': [
            'default',
            'error'
        ],
        'level': 'DEBUG',
        'propagate': True
    },        
}

}


###在blog/views.py中添加:

import logging
logger = logging.getLogger('blog.views')


###添加网站全局信息
由于可能有很多地方都会用到,所以可以在settings.py中添加如下:

SITE_NAME = "Paul 的个人博客"
SITE_DESC = "学习python开发,欢迎大家交流"


在blog/views.py中添加:

from django.conf import settings
def global_settings(request):
return {'SITE_NAME':settings.SITE_NAME,'SITE_DESC':settings.SITE_DESC}


在settings.py的TEMPLATES中添加:

TEMPLATES=[
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(BASE_DIR,'templates')
],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'blog.views.global_settings',
],
},
},
]


今天就是照着葫芦画了个瓢,大概的用法了解了,还未深入研究,等项目完成之后可以回头看看,继续整理
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,820评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,648评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,324评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,714评论 1 297
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,724评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,328评论 1 310
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,897评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,804评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,345评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,431评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,561评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,238评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,928评论 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,417评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,528评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,983评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,573评论 2 359

推荐阅读更多精彩内容

  • 前言 在自动化测试实践过程中,必不可少的就是进行日志管理,方便调试和生产问题追踪,python提供了logg...
    苦叶子阅读 823评论 0 0
  • sqlmap用户手册 说明:本文为转载,对原文中一些明显的拼写错误进行修正,并标注对自己有用的信息。 ======...
    wind_飘阅读 2,056评论 0 5
  • http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 当给sq...
    xuningbo阅读 10,334评论 2 22
  • 本文翻译自logging howto 基础教程 日志是跟踪软件运行时发生事件的一种手段。Python开发者在代码中...
    大蟒传奇阅读 4,257评论 0 17
  • “现在谁还会花钱看老年人的故事啊?他们连自己的父母都不关心。” 年过30依然未婚叛逆的作家女主朴莞, 听到妈妈提...
    娇娇先生阅读 441评论 0 0