生产Python日志记录

时间:2017-11-12 19:21:31

标签: python logging

我在登录生产服务器时遇到了一些问题。我的settings.py看起来像这样:

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
    'simple': {
        'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
    },
},
'handlers': {
    # Log to a text file that can be rotated by logrotate
    'logfile': {
        'class': 'logging.handlers.WatchedFileHandler',
        'filename': 'logs/main.log',
        'formatter': 'simple',
        'mode': 'w',
    },
},
'loggers': {
    # Again, default Django configuration to email unhandled exceptions
    'django.request': {
        'handlers': ['logfile'],
        'level': 'DEBUG',
        'propagate': True,
    },
    # Might as well log any errors anywhere else in Django
    'django': {
        'handlers': ['logfile'],
        'level': 'DEBUG',
        'propagate': True,
    },
    # Your own app - this assumes all your logger names start with "myapp."
    'myapp': {
        'handlers': ['logfile'],
        'level': 'DEBUG',
        'propagate': True
    },
},
}

如果我在localhost上测试它,我得到:

2017-11-12 19:16:33,700 - django.server - INFO - "GET / HTTP/1.1" 200 

但是,如果我在生产服务器上测试nginx,我会得到枪支:

DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): www.googleapis.com

这些只是第一行。我的问题是为什么我得到2个不同的输出?

我可以根据需要提供任何其他信息吗?是否有可能覆盖settings.py文件中的日志配置?

是否需要进行特定的生产日志配置?

任何帮助将不胜感激....希望有人之前有这个错误或问题。

编辑:我正在使用模式'w'并且在本地主机上,如果我重新加载服务器,我的日志文件将被清除,在生产方面,它不会被清除。

这是否意味着我需要重新启动/重新加载gunicorn?

1 个答案:

答案 0 :(得分:0)

重新启动并重新加载gunicorn解决了这个问题。哇哈哈