Я написал сценарий, в котором я читаю данные из снежинки и обновляю их в кеше. После выполнения скрипта снежинка пытается автоматически закрыть все оставшиеся соединения, в то время как соединения закрываются. Библиотека регистрирует несколько деталей, из-за которых я получаю следующую проблему.
--- Logging error ---
Traceback (most recent call last):
File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/logging/handlers.py", line 69, in emit
if self.shouldRollover(record):
File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/logging/handlers.py", line 183, in shouldRollover
self.stream = self._open()
File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/logging/__init__.py", line 1116, in _open
return open(self.baseFilename, self.mode, encoding=self.encoding)
NameError: name 'open' is not defined
Call stack:
File "~/.virtualenvs/test-ven/lib/python3.7/site-packages/snowflake/connector/connection.py", line 211, in __del__
self.close(retry=False)
File "~/.virtualenvs/test-ven/lib/python3.7/site-packages/snowflake/connector/connection.py", line 529, in close
logger.info('closed')
Message: 'closed'
Arguments: ()
Я попытался удалить RotatingFileHandler, затем нет проблем, все выполняется плавно, я пробовал с версиями python 3.5, 3.7, ошибка возникает в обеих версиях. Ниже представлена моя конфигурация ведения журнала, что я мог делать не так.
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '%(asctime)s %(levelname)-8s [%(filename)s:%(lineno)d] %(message)s'
}
},
'handlers': {
'console': {
'class': 'logging.StreamHandler',
'level': 'INFO',
'formatter': 'verbose'
},
'cron_file': {
'class': 'logging.handlers.RotatingFileHandler',
'level': 'INFO',
'formatter': 'verbose',
'filename': '/var/log/my-project/crons.log',
'mode': 'a',
'maxBytes': 5242880,
'backupCount': 10
},
'error_file': {
'class': 'logging.handlers.RotatingFileHandler',
'level': 'WARN',
'formatter': 'verbose',
'filename': '/var/log/my-project/error.log',
'mode': 'a',
'maxBytes': 5242880,
'backupCount': 10
}
},
'loggers': {
# root logger
'': {
'handlers': ['console', 'cron_file', 'error_file'],
'level': 'DEBUG',
},
'crons': {
'handlers': ['console', 'cron_file', 'error_file'],
'level': 'DEBUG',
}
}
}