У меня возникает проблема с разрешением при создании журналов с помощью Python. Почему это происходит?Linux

Ответить
Anonymous
 У меня возникает проблема с разрешением при создании журналов с помощью Python. Почему это происходит?

Сообщение Anonymous »

Учтите, что я использовал переводчик.
Работа на 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'
Я попробовал изменить права доступа к каталогу /log, где хранятся журналы, но проблема не исчезла.

Код: Выделить всё

chmod 777 ./log

Код: Выделить всё

sudo chown : ./log


Подробнее здесь: https://stackoverflow.com/questions/790 ... s-this-hap
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»