1

我真的很想使用 Logging 来确保我的应用程序正常工作,但我无法让它可靠地工作。

我只是在从日志文件中删除所有现有行之后才注意到这个问题,我不确定它是否在其他时间发生,但有时请求的信息已成功添加到我的日志文件中,有时什么也没有是并且文件保持空白。

我已经这样设置了,logger = logging.getLogger(__name__)并且正在使用logger.info("Log This!")

这是由手动从日志文件中删除内容引起的吗?或者我的配置有问题?

LOGGING = {'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
            'datefmt' : "%d/%b/%Y %H:%M:%S"
        },
        'simple': {
            'format': '%(levelname)s %(message)s'
        },
    },
    'handlers': {
        'file': {
            'level': 'INFO',
            'class': 'logging.FileHandler',
            'filename': os.path.join(BASE_DIR, 'logs/GeniusLogs.log'),
            'formatter': 'verbose'
        },
    },
    'loggers': {
        '': {
            'handlers': ['file'],
            'level': 'INFO',
            'propagate': True
        },
        'django': {
            'handlers':['file'],
            'propagate': True,
            'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'),
        },
    }
}

编辑

玩过之后,似乎手动编辑日志文件是导致问题的原因。编辑文件后,我必须在日志记录设置中进行某种重大更改,以使其再次工作。(通常注释掉 Django 应用程序并加载页面会使其工作)。

4

1 回答 1

1

最好从命令行清除日志:

with open('AlmondKing/logs/GeniusLogs.log', 'w'):
    pass
于 2016-09-08T16:01:33.170 回答