Django 使用logging打印日志的實(shí)例
Django使用python自帶的logging 作為日志打印工具。簡(jiǎn)單介紹下logging。
logging 是線程安全的,其主要由4部分組成:
Logger
用戶使用的直接接口,將日志傳遞給Handler
Handler
控制日志輸出到哪里,console,file…
一個(gè)logger可以有多個(gè)Handler
Filter
控制哪些日志可以從logger流向Handler
Formatter
控制日志的格式
用戶使用logging.getLogger([name])獲取logger實(shí)例。
如果沒(méi)有名字,返回logger層級(jí)中的根logger(root logger)。以相同名字調(diào)用該函數(shù)總是返回同一個(gè)logger實(shí)例。這意味著logger實(shí)例不需要在應(yīng)用的各個(gè)部分之間傳來(lái)傳去。
Django通過(guò)在settings文件中使用LOGGING來(lái)定制日志輸出(包括定義logger, handler, formatter等)
例如,settings文件中定義如下:
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'verbose': { 'format': '[%(asctime)s] [%(levelname)s] %(message)s' }, }, 'handlers': { 'console':{ 'level':'INFO', 'class':'logging.StreamHandler', 'formatter': 'verbose' }, 'file': { 'level': 'INFO', 'class': 'logging.FileHandler', 'filename': 'D:/monitor.log', 'formatter': 'verbose' }, 'email': { 'level': 'ERROR', 'class': 'django.utils.log.AdminEmailHandler', 'include_html' : True, } }, 'loggers': { 'django': { 'handlers': ['console', 'file', 'email'], 'level': 'INFO', 'propagate': True, }, }, }
代碼中打印日志:
logger = logging.getLogger(‘django') logger.info(“This is an error msg”)
[2017-07-15 17:44:51,316] [ERROR] This is an error msg
這樣,日志就被打印到終端和文件。
關(guān)于django logging 想了解更多,可參考官網(wǎng)
https://docs.djangoproject.com/en/1.11/topics/logging/
以上這篇Django 使用logging打印日志的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決python?pip安裝第三方模塊報(bào)錯(cuò):error:legacy-install-failure
pip是python的第三方庫(kù)管理器,可以根據(jù)所開(kāi)發(fā)項(xiàng)目的需要,使用pip相關(guān)命令安裝不同庫(kù),下面這篇文章主要給大家介紹了關(guān)于解決python?pip安裝第三方模塊報(bào)錯(cuò):error:?legacy?-?install?-?failure的相關(guān)資料,需要的朋友可以參考下2023-04-04可用于監(jiān)控 mysql Master Slave 狀態(tài)的python代碼
用于監(jiān)控MySQL Master Slave 狀態(tài)的python代碼,有需要的朋友可以參考下2013-02-02Python數(shù)據(jù)列表中的空補(bǔ)0的問(wèn)題解決
在Python中,如果你有一個(gè)包含空值的數(shù)據(jù)列表,你可以使用列表推導(dǎo)式或循環(huán)將這些空值替換為0,本文就來(lái)介紹一下如何解決,感興趣的可以了解一下2024-03-03Python中比較大小的幾種方法實(shí)例總結(jié)
在Python編程中經(jīng)常需要比較兩個(gè)數(shù)的值,并根據(jù)大小關(guān)系進(jìn)行賦值操作,下面這篇文章主要給大家介紹了關(guān)于Python中比較大小的幾種方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03Centos7 Python3下安裝scrapy的詳細(xì)步驟
這篇文章主要介紹了Centos7 Python3下安裝scrapy的詳細(xì)步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03Python+OpenCV目標(biāo)跟蹤實(shí)現(xiàn)基本的運(yùn)動(dòng)檢測(cè)
這篇文章主要為大家詳細(xì)介紹了Python+OpenCV目標(biāo)跟蹤實(shí)現(xiàn)基本的運(yùn)動(dòng)檢測(cè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07