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

标签 python django django-logging

我在代码中使用以下日志记录配置。

LOGGING = {
    'version': 1,
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
            'stream': sys.stdout,
        }
    },
    'formatters': {
        'simple': {
            'format': '%(levelname)s %(asctime)s %(name)s.%(funcName)s:%(lineno)s- %(message)s'
        },
    },
    'root': {
        'handlers': ['console'],
        'level': 'INFO'
    }
}

这就是我的日志方式。

logging.config.dictConfig(LOGGING)
logging.info('Hello World!')

问题是格式字符串未被遵守。如何让格式化程序正常工作?

最佳答案

您需要告诉处理程序使用您的格式化程序。

LOGGING = {
    'version': 1,
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
            'stream': sys.stdout,
            'formatter': 'simple',
        }
    },
    'formatters': {
        'simple': {
            'format': '%(levelname)s %(asctime)s %(name)s.%(funcName)s:%(lineno)s- %(message)s'
        },
    },
    'root': {
        'handlers': ['console'],
        'level': 'INFO'
    }
}

>>> logging.config.dictConfig(LOGGING)
>>> logging.info('test')
INFO 2018-12-04 10:35:29,879 root.<module>:1- test

'格式化程序': '简单',

关于python - 使用自定义格式化程序登录 django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53618403/

相关文章:

python - 如何实现暂停(和更多)功能?

python - Django - 在模板上将列表排序为 3 列

Django : count foreign key and display

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

Django Logger 与日志中间件

python - 如何使用Vimba SDK使Allied Vision相机的帧速率恒定?

python - 从 websocket 读取数据而不阻塞代码

python - Tkinter:将标签延伸到列的边缘

python - Django错误 "home.models.Friend.DoesNotExist: Friend matching query does not exist."

Django logger.error 不会将日志记录条目保存到 debug.log 文件中