Каким образом создается запись в логах о том, что для записи лога недостаточно места?

Буквально сегодня на одном из проектов наткнулся на такую запись в error_log nginx-а

2016/03/10 01:33:20 [alert] 343#0: *43891688 write() to "/u01/nginx_log/access_conf.log" failed (28: No space left on device) while logging request
....
2016/03/10 01:33:20 [alert] 334#0: *45145930 write() to "/u01/nginx_log/access_all.log" failed (28: No space left on device) while logging r


То есть видно, что место на диске кончилось пока nginx писал последнюю запись об ошибке (текст скопирован полностью, присутствует только первая бука слова request, остальная часть уже не влезла на диск).

Возник вопрос, каким образом регулируется логирование в nginx? почему он не создал так же "куском" запись в логе доступа (куда он и пытался писать изначально), но создал "кусок" в логе ошибок? Файлы логов лежат в одной папке (то есть случай, когда ошибки пишутся на другой раздел, где в тот момент было место, исключается).

В документации по этому поводу ничего не нашел.
  • Вопрос задан
  • 653 просмотра
Решения вопроса 1
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
access_log буферизуется, error_log - нет, сразу флашится на диск.

Для сбрасывания нескольких килобайт буфера nginx места не нашел, а строки в error_log влезли.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
так получилось/совпало просто

ну, наверно, error log имеет приоритет, но в конкретный момент времени процесс не может знать, есть ли место, или уже кончилось, в даннмо случае error логу повезло, влезла хоть часть

4a6036995a3049aa91d1994e0ff9cc10.jpg
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
24 апр. 2024, в 09:39
20000 руб./за проект
24 апр. 2024, в 09:32
25000 руб./за проект
24 апр. 2024, в 09:27
13000 руб./за проект