Django 使用logging打印日志的實例
Django使用python自帶的logging 作為日志打印工具。簡單介紹下logging。
logging 是線程安全的,其主要由4部分組成:
Logger
用戶使用的直接接口,將日志傳遞給Handler
Handler
控制日志輸出到哪里,console,file…
一個logger可以有多個Handler
Filter
控制哪些日志可以從logger流向Handler
Formatter
控制日志的格式
用戶使用logging.getLogger([name])獲取logger實例。
如果沒有名字,返回logger層級中的根logger(root logger)。以相同名字調用該函數(shù)總是返回同一個logger實例。這意味著logger實例不需要在應用的各個部分之間傳來傳去。
Django通過在settings文件中使用LOGGING來定制日志輸出(包括定義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
這樣,日志就被打印到終端和文件。
關于django logging 想了解更多,可參考官網(wǎng)
https://docs.djangoproject.com/en/1.11/topics/logging/
以上這篇Django 使用logging打印日志的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python SqlAlchemy動態(tài)添加數(shù)據(jù)表字段實例解析
這篇文章主要介紹了Python SqlAlchemy動態(tài)添加數(shù)據(jù)表字段實例解析,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-02-02
Python2.x利用commands模塊執(zhí)行Linux shell命令
這篇文章主要介紹了Python2.x利用commands模塊執(zhí)行Linux shell命令 的相關資料,需要的朋友可以參考下2016-03-03
pytorch 實現(xiàn)L2和L1正則化regularization的操作
這篇文章主要介紹了pytorch 實現(xiàn)L2和L1正則化regularization的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Python通過調用mysql存儲過程實現(xiàn)更新數(shù)據(jù)功能示例
這篇文章主要介紹了Python通過調用mysql存儲過程實現(xiàn)更新數(shù)據(jù)功能,結合實例形式分析了Python調用mysql存儲過程實現(xiàn)更新數(shù)據(jù)的具體步驟與相關操作技巧,需要的朋友可以參考下2018-04-04

