问题描述
我正在一个使用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容器名称!