Python Flask & Django框架中配置logging日誌文件

一. 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—————————————–

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章