Settings 中 日誌的配置

2021-07-24 17:16:25 字數 2677 閱讀 8833

settings 中 日誌的配置

在settings中配置loggings檔案,在base_dir目錄下建立相應的資料夾就可以生成相應的執行日誌了。通過日誌我們可以分析到錯誤在什麼地方,有什麼異常。在生產環境下有很大的用處。

django中要用logging ,還得有一定的配置規律,setting 中配置類似如下:

程式**程式**

logging = {

'version': 1,

'disable_existing_loggers': true,

'formatters': {

'standard': {

'format': '%(asctime)s [%(threadname)s:%(thread)d] [%(name)s:%(lineno)d][%(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': os.path.join(static_root+'/logs/','all.log'),          

'maxbytes': 1024*1024*5, # 5 mb

'backupcount': 5,

'formatter':'standard',

'console':{

'level': 'debug',

'class': 'logging.streamhandler',

'formatter': 'standard'

'request_handler': {

'level':'debug',

'class':'logging.handlers.rotatingfilehandler',

'filename': os.path.join(static_root+'/logs/','script.log'), 

'maxbytes': 1024*1024*5, # 5 mb

'backupcount': 5,

'formatter':'standard',

'scprits_handler': {

'level':'debug',

'class':'logging.handlers.rotatingfilehandler',

'filename': os.path.join(static_root+'/logs/','script.log'),

'maxbytes': 1024*1024*5, # 5 mb

'backupcount': 5,

'formatter':'standard',

'loggers': {

'django': {

'handlers': ['default','console'],

'level': 'debug',

'propagate': false

'handlers': ['default','console'],

'level': 'debug',

'propagate': true        

'django.request': {

'handlers': ['request_handler'],

'level': 'debug',

'propagate': false

'scripts': { # 指令碼專用日誌

'handlers': ['scprits_handler'],

'level': 'info',

'propagate': false

views.py 中

程式**程式**

import logging

logger.info('aaa')

logger.error('error occurs')

知道了原理,在view中就如同上面介紹的那樣,應用就好了

程式**程式**

import logging

logger = logging.getlogger(__name__) # 這裡用__name__通用,自動檢測.

logger.info('aaa')

logger.error('error')

你如果既想看自己在程式中輸出的日誌,又想看django自己輸出的日誌,特別是sql 語句,那麼根據上面介紹的,你可以這樣做:

程式**程式**

import logging

logger = logging.getlogger('django') # 這裡用__name__通用,自動檢測.

logger.info('aaa')

logger.error('error')

這樣,所有的日誌你都能看到,包括 django.db.backends 資料庫sql語句的日誌。

實際上很多配置檔案配置日誌部分都大同小異,很多可以公用,所以不必每次都從頭編寫,往往複製已有的進行修改即可。

Spring boot中日誌檔案配置

因為spring boot的預設日誌配置存在丟失日誌的情況,所以導致這裡需要手動配置一下日誌。具體配置如下 debug false name log home value log scope context name source resource org springframework boot ...

python中日誌配置與使用 1

和在學校做大作業 畢業設計不同,一旦到了生產環境,查詢問題 服務監控等操作都需要通過日誌來完成了。以前的專案,更多的是從其他同事手中交接一些服務,服務中已經積攢了一些 無論好壞 打日誌的規範和方法。近期 其實已經一年了,一直懶得總結 由於排期問題,我糙猛快的寫了幾個python的服務 而我之前的同事...

專案中日誌的配置及使用模板

1.日誌的配置檔案 classpath下 模板如下 2.專案中的使用 引入private static final logger logger logge ctory.getlogger this.class 使用logger.info registe consumer socialgroup lo...