Django应用程序日志级别信息未写入fi

2024-04-26 14:36:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Django中添加了以下设置,用于信息级别日志。你知道吗

logger = logging.getLogger(__name__)
logging.basicConfig(LOGGING=settings.LOGGING)

LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
    'verbose': {
        'format': '%(asctime)s %(levelname)s %(message)s',
    },
},
'handlers': {
    'file': {
        'class': 'logging.handlers.TimedRotatingFileHandler',
        'formatter': 'verbose',
        'level': logging.INFO,
        'filename': '/logs/django/api.log',
        'interval': 1,
        'when': 'midnight',
        'encoding': 'utf8'
    },
},
'loggers': {
    'django': {
        'handlers': ['file'],
        'level': logging.INFO,
        'propagate': True,
    },
},
}

如果我将此级别更改为Debug,那么它可以正常工作,但是当我将其更改为INFO级别时,日志将不会写入文件中。有人能帮忙吗?你知道吗


Tags: djangoinfo信息trueverboselogginghandlerslogger
1条回答
网友
1楼 · 发布于 2024-04-26 14:36:19

请尝试以下设置:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'standard': {
            'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
        },
    },
    'handlers': {
        'default': {
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler',
            'filename': 'test.log',
            'maxBytes': 1024*1024*5, # 5 MB
            'backupCount': 5,
            'formatter':'standard',
        },
        'request_handler': {
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler',
            'filename': 'django_request.log',
            'maxBytes': 1024*1024*5, # 5 MB
            'backupCount': 5,
            'formatter':'standard',
        },
    },
    'loggers': {
        '': {
            'handlers': ['default'],
            'level': 'DEBUG',
            'propagate': True
        },
        'django.request': {
            'handlers': ['request_handler'],
            'level': 'DEBUG',
            'propagate': False
        },
    }
}

在代码中:

import logging

logger = logging.getLogger(__name__)

logger.info("My name is Info")

样本输出:

2017-05-25 04:56:38,912 [INFO] api.views: API - initiate_scan view, new object created. Uid: cf3822b261790186297d30e4f5b448b2

相关问题 更多 >