0
我已經設置了日誌記錄配置如下的字典:graylog過濾器沒有設置進行配置後的Django
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'simple': {
'format': '%(levelname)s %(message)s'
}
},
'filters': {
'fields': {
'env': 'test'
}
},
'handlers': {
'graypy': {
'level': 'DEBUG',
'class': 'graypy.GELFHandler',
'host': 'graylog2.example.org',
'port': 12201,
'filters': ['fields']
}
},
'loggers': {
'testlogger': {
'handlers': ['graypy'],
'level': 'DEBUG',
'propagate': True
}
}
}
我貫穿manage.py
應用階段後,我沒有看到filters
,env:test
在Graylog GUI上爲我彈出,所以我用python manage.py shell
在本地檢查了設置。在控制檯中,我有以下檢查:
l = logging.getLogger('testlogger')
l.handlers[0].filters[0].fields
並返回AttributeError: 'Filter' object has no attribute 'fields'
,這果然應在列表env:test
。我已經閱讀了一些關於如何在django中爲GELFhandler
設置filters
的教程,好像它們都具有類似於上述設置的格式,我不知道爲什麼只有過濾器沒有設置爲我的記錄器。