Django 使用logging列印日誌的執行個體

來源:互聯網
上載者:User
下面為大家分享一篇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)。以相同名字調用該函數總是返回同一個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/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.