配置工程日誌
阿新 • • 發佈:2020-07-28
1. 配置工程日誌
LOGGING = {
'version': 1,
'disable_existing_loggers': False, # 是否禁用已經存在的日誌器
'formatters': { # 日誌資訊顯示的格式
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s'
},
'simple': {
'format': '%(levelname)s %(module)s %(lineno)d %(message)s'
},
},
'filters': { # 對日誌進行過濾
'require_debug_true': { # django在debug模式下才輸出日誌
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': { # 日誌處理方法
'console': { # 向終端中輸出日誌
'level': 'INFO',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'file': { # 向檔案中輸出日誌
'level': 'INFO',
'class': 'logging.handlers.RotatingFileHandler',
'filename': os.path.join(os.path.dirname(BASE_DIR), 'logs/meiduo.log'), # 日誌檔案的位置
'maxBytes': 300 * 1024 * 1024,
'backupCount': 10,
'formatter': 'verbose'
},
},
'loggers': { # 日誌器
'django': { # 定義了一個名為django的日誌器
'handlers': ['console', 'file'], # 可以同時向終端與檔案中輸出日誌
'propagate': True, # 是否繼續傳遞日誌資訊
'level': 'INFO', # 日誌器接收的最低日誌級別
},
}
}
2. 準備日誌檔案目錄
3. 日誌記錄器的使用
4. Git管理工程日誌
開發過程中,產生的日誌資訊不需要程式碼倉庫進行管理和記錄
建立程式碼倉庫時,生成的忽略檔案中已經預設忽略掉了*.log。
問題:
- logs檔案目錄需求被Git倉庫記錄和管理。
- 當把
*.log
都忽略掉後,logs檔案目錄為空。 - 但是,Git是不允許提交一個空的目錄到版本庫上的。
解決:
- 在空檔案目錄中建立一個.gitkeep檔案,然後即可提交。
配置完成後:執行程式,測試結果
- 本專案最低日誌等級設定為:INFO
- 建立日誌記錄器的方式:
logger = logging.getLogger('django')
3,日誌記錄器的使用:
logger.info('測試logging模組info')
在日誌loggers
選項中可以指定多個日誌記錄器