如何在Django中使用Graypy

问题描述

我正在一个使用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,

}

另外,当我在views.py中创建一个looger时,我在graylog服务器中进行了输入,并使用python简单脚本成功对其进行了测试,日志出现在文件和控制台中,而没有出现在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容器名称!