Я создал REST API, используя для этого Flask-RESTFUL, и мне нужно сгенерировать файлы журнала для этого
Я получаю сообщение об ошибке при повторном запуске API. это происходит при входе в файл.
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process:
Чтобы избежать этой ошибки, мне пришлось удалить файл, но такая же ошибка возникает, когда другой компьютер пытается получить доступ к API.
У меня есть код config.py, инициализирующий конфигурацию приложения моего модуля логирования.
import os
from datetime import date
import logging
import logging.handlers as handlers
class BaseConfig(object):
DEBUG = False
TESTING = False
LOGGING_FORMAT = '%(asctime)s - %(levelname)s - %(message)s'
#LOGGING_LOCATION = 'logs/bookshelf.log'
class DevelopmentConfig(BaseConfig):
DEBUG = True
TESTING = True
class TestingConfig(BaseConfig):
DEBUG = False
TESTING = True
class ProductionConfig(BaseConfig):
DEBUG = False
TESTING = False
config = {
"development": "config.DevelopmentConfig",
"testing": "config.TestingConfig",
"default": "config.DevelopmentConfig",
"production": "config.ProductionConfig"
}
def configure_app(app):
#ENVRIONMENT CONFIGURATION
config_name = os.getenv('FLASK_CONFIGURATION', 'default')
#config_name = os.getenv('FLASK_CONFIGURATION', 'production') #UNCOMMENT IF PROD
app.config.from_object(config[config_name]) # object-based default configuration
#handler = logging.FileHandler(app.config['LOGGING_LOCATION'])
handler = handlers.TimedRotatingFileHandler('logs/'+str(date.today())+'-mipay-error.log', when='M', interval=1)
formatter = logging.Formatter(app.config['LOGGING_FORMAT'])
#handler.setLevel(app.config['LOGGING_LEVEL'])
handler.setFormatter(formatter)
app.logger.addHandler(handler)
#LOGGING CONFIGURATION
Я прочитал, что необходимо закрыть файл, но я не знаю, когда и как закрыть файл журнала.