您好,登錄后才能下訂單哦!
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)。以相同名字調用該函數總是返回同一個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 想了解更多,可參考官網
https://docs.djangoproject.com/en/1.11/topics/logging/
以上這篇Django 使用logging打印日志的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。