Python Flask & Django框架中配置logging日誌檔案
阿新 • • 發佈:2019-02-06
一. Python 在Flask框架中日誌檔案的配置
一般在專案的初始化檔案__init__.py 或 Config.py檔案中進行配置
注意:需要手動在專案檔案目錄下建立logs包, 用於儲存日誌檔案,否則會報錯。
def log_file(LEVEL): """記錄日誌內容""" # 設定日誌的記錄等級 logging.basicConfig(level=LEVEL) # 除錯debug級 # logs/log--需要修改成自己定義的路徑&檔名 # 建立日誌記錄器,指明日誌儲存的路徑、每個日誌檔案的最大大小、儲存的日誌檔案個數上限 file_log_handler = RotatingFileHandler("logs/log", maxBytes=1024 * 1024 * 100, backupCount=10) # 建立日誌記錄的格式 日誌等級 輸入日誌資訊的檔名 行數 日誌資訊 formatter = logging.Formatter('%(levelname)s %(filename)s:%(lineno)d %(message)s') # 為剛建立的日誌記錄器設定日誌記錄格式 file_log_handler.setFormatter(formatter) # 為全域性的日誌工具物件(flask app使用的)新增日誌記錄器 logging.getLogger().addHandler(file_log_handler)
二. Python Django框架中日誌檔案的配置
一般配置在專案的配置的檔案 settings.py 中
注意:需要手動在專案檔案目錄下建立logs包,用於儲存日誌檔案,否則會報錯。
# 日誌檔案設定 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.utils.log.RequireDebugTrue', }, }, 'handlers': { 'console': { 'level': 'DEBUG', 'filters': ['require_debug_true'], 'class': 'logging.StreamHandler', 'formatter': 'simple' }, 'file': { 'level': 'INFO', 'class': 'logging.handlers.RotatingFileHandler', # logs/abc.log 需要修改成自己定義的檔案目錄&檔名 'filename': os.path.join(BASE_DIR, "logs/abc.log"), # 日誌檔案的位置 'maxBytes': 300 * 1024 * 1024, 'backupCount': 10, 'formatter': 'verbose' }, }, 'loggers': { 'django': { # 定義了一個名為django的日誌器 'handlers': ['console', 'file'], 'propagate': True, }, } }
--------------------------------------END-----------------------------------------