Работа на Raspberry Pi 4b
Код, который работал нормально, внезапно выдает ошибку в разделе ниже. Почему?
Код: Выделить всё
file_handler = logging.FileHandler(logger_file_path, 'a', encoding='UTF-8')Обратите внимание, что этот код выполняется в среде sudo.
Вот как эта функция выглядит при выполнении:
Код: Выделить всё
# 1
logger = utils.create_logger('bitp_app')
# 2
self.logger = utils.create_logger('matrix_manager')
# 3
self.logger = utils.create_logger('info_manager')
Ниже приведен рассматриваемый код.
Код: Выделить всё
def create_logger(logger_name, logger_file_path=None, logger_set_level=logging.DEBUG, file_set_level=logging.DEBUG) -> logging.Logger:
if not os.path.exists('log'):
os.makedirs('log')
if logger_file_path == None:
logger_file_path = os.path.join('log', f'{logger_name}.log')
logger = logging.getLogger(logger_name)
logger.setLevel(logger_set_level)
formatter = logging.Formatter(log_format, datefmt=log_time_format)
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(formatter)
logger.addHandler(stream_handler)
file_handler = logging.FileHandler(logger_file_path, 'a', encoding='UTF-8')
file_handler.setFormatter(formatter)
file_handler.setLevel(file_set_level)
logger.addHandler(file_handler)
logger.info(f"Logging start. [{logger_name}]")
return logger
Код: Выделить всё
Exception has occurred: PermissionError
PermissionError: [Errno 13] Permission denied: '
/log/manager.log'
Код: Выделить всё
chmod 777 ./logКод: Выделить всё
sudo chown : ./logПодробнее здесь: https://stackoverflow.com/questions/790 ... s-this-hap
Мобильная версия