py.user.next
в чём же функция системы логирования (журналирования), если не запись в журнал ?
Принцип применим не к функции системы, а ко всей системе.
Поэтому я подчеркиваю разницу.
py.user.next
чтобы программа оставалась неправильно, а выглядела красиво
Нет. Система логгирования - это вспомогательная система, без которой работоспособность системы в целом не должна страдать. В том числе, если вспомогательная система сбоит.
Кроме того, ее особенность в том, что она всегда последняя в цепочке обработки ошибки.
По вашему, если ошибка происходит при записи в лог-файл, то программе следует бы просто вылетать с ошибкой? Так красиво?
py.user.next
пример конкретный приведи
Если при записи в лог-файл возникает ошибка, ее следует проигнорировать в подавляющем большинстве систем.
Потому что прикладная программа не только не может повлиять на ошибку, но часто даже не знает причину ее возникновения.
Если антивирус заблокировал лог-файл, если возникла аппаратная ошибка, система логгирования никак не может решить эту проблему.
Отдельная песня - программы для обслуживания производственных агрегатов в реальном времени.
Там вылет программы - это остановка производственного процесса,- ЧП.
А сообщить об ошибке можно только путем крэша, т.к. остальные стандартные потоки типа stderr либо уже заняты, либо перенаправлены в этот самый файл, либо вообще перенаправлены в dev/null.
Поэтому такую ошибку игнорируют. Иногда используют альтернативную систему сообщений: mail, sms, sys log. Но это, как говорят, зависит от…