如何在 django 中使用 graypy

how to use graypy with django

我正在开发一个使用 graylog 服务器进行日志记录的项目,在 settings.py 我有以下内容:

    LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
    'console': {
        'class': 'logging.StreamHandler',
    },
    'file': {
        'level': 'DEBUG',
        'class': 'logging.FileHandler',
        'filename': os.path.join(BASE_DIR, 'users/debug.log'),
    },
    'graypy': {
        'level': 'WARNING',
        'class': 'graypy.GELFUDPHandler',
        'host': 'localhost',
        'port': 12201,
    },
},
'root': {
    'handlers': ['graypy', 'console', 'file',],
    'level': 'WARNING',
},
'loggers': {
    'django.request': {
        'handlers': ['graypy'],
        'level': 'ERROR',
        'propagate': True,
    },
},

}

此外,我在 graylog 服务器中进行了输入,并使用 python 简单脚本成功测试了它,当我在我的 views.py 中创建一个 looger 时,日志出现在文件和控制台中,但不' 出现在 graylog 中!请帮我解决这个问题!

我的views.py:

    logger = logging.getLogger(__name__) 

    def home(request):
        logger.debug('A debug message')

        return render(request, 'users/home.html')

最后,经过大量搜索,我发现容器必须在网络中并且可以相互看到!默认情况下,每个容器 运行 都有一个名称为 'container_name_default' 的网络,为此我将 Graylog 服务器连接到我的应用程序,并在设置中将主机名更改为 Graylog 容器名称!