python - logger.info 在 Django 日志记录中不起作用

标签 python logging django-logging

以下是我在 django 中使用的日志记录片段设置.py 文件。所有的 GET、POST 请求都被写入日志,但是当我写 时logger.info("print something"),它没有在控制台和日志文件中打印/捕获
请提出解决方法来捕获 logger.info() 日志
View .py

import logging

logger = logging.getLogger(__name__)

def custom_data_generator(request):
    logger.info("print somethig") # NOT GETTING CAPTURED IN LOG FILE
    return somethig

设置.py ( DEBUG = True DEBUG_MODE = False 在 settings.py 文件中)
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
    'simple': {
        'format': '[%(asctime)s] %(levelname)s|%(name)s|%(message)s',
        'datefmt': '%Y-%m-%d %H:%M:%S',
    },
},
'handlers': {
    'applogfile': {
        'level': 'DEBUG',
        'class': 'logging.handlers.RotatingFileHandler',
        'filename': '/home/mahesh/Documents/refactor/unityapp/unity/media/myproject.log',
        'backupCount': 10,
        'formatter': 'simple',
    },
    'console': {
        'level': 'DEBUG',
        'class': 'logging.StreamHandler',
        'formatter': 'simple'
    }
},
'loggers': {
    'django': {
        'handlers': ['applogfile', 'console'],
        'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'),
    }
}
}
生成的日志数据如下
[2020-07-07 11:43:25] ERROR|django.server|"GET /a11y/project-dashboard/?

refnum=ACGLOBAL&env_id=4 HTTP/1.1" 500 92016
[2020-07-07 12:05:21] INFO|django.server|"GET /admin/ HTTP/1.1" 200 59501
[2020-07-07 12:05:21] INFO|django.server|"GET /admin/ HTTP/1.1" 200 59501
[2020-07-07 12:05:21] INFO|django.server|"GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 85692
[2020-07-07 12:05:21] INFO|django.server|"GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 86184
[2020-07-07 12:05:21] INFO|django.server|"GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 85876
[2020-07-07 12:05:26] INFO|django.server|"GET /admin/accessibility/axe_json/ HTTP/1.1" 200 1886434
[2020-07-07 12:05:27] INFO|django.server|"GET /admin/jsi18n/ HTTP/1.1" 200 3223
[2020-07-07 12:05:27] INFO|django.server|"GET /static/admin/js/vendor/jquery/jquery.js HTTP/1.1" 200 280364
[2020-07-07 12:05:27] INFO|django.server|"GET /static/admin/js/vendor/xregexp/xregexp.js HTTP/1.1" 200 128820
[2020-07-07 12:05:34] INFO|django.server|"GET /admin/accessibility/axe_json/?page_id=https%3A%2F%2Fjobs.chegg.com%2Fapplythankyou HTTP/1.1" 200 1868950
[2020-07-07 12:05:35] INFO|django.server|"GET /admin/jsi18n/ HTTP/1.1" 200 3223

最佳答案

这可能是因为您的 View 模块没有设置日志记录级别,因此它将继承根记录器的默认级别 WARNING .如果添加 root级别为 INFO 的条目,类似于 documented examples ,您应该会看到来自其他模块的消息。或者,您可以在 loggers 下指定记录器名称。您的特定模块层次结构的关键,无论是什么。 (您的示例仅覆盖 WARNING 层次结构中模块的 django 级别,即 Django 本身中的代码。)

关于python - logger.info 在 Django 日志记录中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62782979/

相关文章:

c# - Windows Phone 原生 std::cout

spring - 自由配置文件控制日志记录

python - django数据库查询日志行号

python - 使用自定义格式化程序登录 django

python - PyQt5:检查动态创建的复选框是否存在并引用它们

python - 如何使用 gspread 获取 Google 电子表格单元格链接

python - 无法将 slug 传递给 UpdateView 以获取正确的数据

python - 在 Python 中旋转字符串

logging - Wix Bootstrapper MSI-Package 日志记录,如何?

django - 有什么方法可以将当前日志记录修改为 json 格式,并添加了一些其他字段 python 日志记录