【Python-django後端開發】logging日製配置詳解!!!

 

官方文檔請查看:https://docs.djangoproject.com/en/1.11/topics/logging/python

 

 

1. 配置工程日誌,在setting.py裏,以下

 

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(BASE_DIR, 'logs/liuxinyu.log'),  # 日誌文件的位置
            'maxBytes': 300 * 1024 * 1024,
            'backupCount': 10,
            'formatter': 'verbose'
        },
    },
    'loggers': {  # 日誌器
        'django': {  # 定義了一個名爲django的日誌器
            'handlers': ['console', 'file'],  # 能夠同時向終端與文件中輸出日誌
            'propagate': True,  # 是否繼續傳遞日誌信息
            'level': 'INFO',  # 日誌器接收的最低日誌級別
        },
    }
}

  

2. 準備日誌文件目錄,在工程文件下建立logs文件夾,在logs文件夾裏建立liuxinyu.log文件(根據上面的配置來的)

 

 

 

 

 

3. 日誌記錄器的使用

不一樣的應用程序所定義的日誌等級可能會有所差異,分的詳細點的會包含如下幾個等級:git

  • FATAL/CRITICAL = 重大的,危險的
  • ERROR = 錯誤
  • WARNING = 警告
  • INFO = 信息
  • DEBUG = 調試
  • NOTSET = 沒有設置
import logging

# 建立日誌記錄器
logger = logging.getLogger('django')
# 輸出日誌
logger.debug('測試logging模塊debug')
logger.info('測試logging模塊info')
logger.error('測試logging模塊error')

  

4. 取消Git記錄工程日誌

 

 

  • 創建代碼倉庫時,生成的忽略文件中已經默認忽略掉了*.log。

 

  • logs文件目錄需求被Git倉庫記錄和管理。
  • 當把*.log都忽略掉後,logs文件目錄爲空。
  • 可是,Git是不容許提交一個空的目錄到版本庫上的。

 

解決:django

 

  • 在空文件目錄中創建一個.gitkeep文件,而後便可提交。

 

相關文章
相關標籤/搜索