Что происходит в Python 3+, если я регистрирую больше сообщений, чем настроено для обработки RotatingFileHandler? - PullRequest
1 голос
/ 09 июля 2019

В Python 3+ у меня возникают проблемы с пониманием RotatingFileHandler. В этом примере пользователь показывает RotatingFileHandler с backupCount 10 и maxBytes 2000. Это создает 11 файлов журнала, каждый из которых содержит до 2000 байтов (всего 22000 байтов). Что произойдет, если я зарегистрирую более 22000 байтов, распределенных по многим различным сообщениям журнала? Файлы журналов перезаписываются?

1 Ответ

1 голос
/ 09 июля 2019

Что происходит, так это то, что он начинает сохранять информацию журнала в файл.Когда размер файла журнала превышает maxBytes, текущий журнал архивируется, и новая информация журнала добавляется в новый файл журнала.Может существовать максимальное количество backupCount архивов журналов, и архивы удаляются из самых старых только при превышении числа backupCount.

Все это происходит автоматически для вас.


РЕДАКТИРОВАТЬ

Я попытаюсь нарисовать, что происходит:

Вы начинаете с:

app.log

, когда app.log становится слишком большим:

app.log  <-- Created fresh
app.log.1  <-- renamed from old app.log

Это продолжается до тех пор, пока у вас не будет .number файлов, как указано backupCount:

app.log  <-- You always append data HERE
app.log.1  <-- renamed from old app.log
app.log.2  <-- renamed from old app.log.1
app.log.3  <-- renamed from old app.log.2
app.log.4  <-- renamed from old app.log.3
app.log.5  <-- renamed from old app.log.4

, когда app.log снова становится слишком большим и уже есть 5 файлов резервных копий:

app.log  <-- You always append data HERE
app.log.1  <-- renamed from old app.log
app.log.2  <-- renamed from old app.log.1
app.log.3  <-- renamed from old app.log.2
app.log.4  <-- renamed from old app.log.3
app.log.5  <-- renamed from old app.log.4
-- old app.log.5 gets deleted --

Более подробную информацию можно найти в документации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...