Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions @l10n/ru/docs/node/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -197,12 +197,14 @@ logger.p2p.level = warn
logger.p2p.appenders = p2p
```

Аппендер `file` НАСТРОЕН ротироваться по времени (новый файл каждый час, хранится сутки),
но ротация срабатывает только пока обслуживается очередь файберов fc, а `vizd` после старта
её не обслуживает (замер 20.10.2026: нода тестнета написала один файл на 37 МБ за девять
часов на уровне `info`, часовых файлов нет; нода мейннета проработала четыре дня без нового
файла). Не рассчитывайте, что аппендер ограничит размер, и помните: на `debug` нода может
писать гигабайты в час. Если нужен только свежий хвост, используйте опциональный
Аппендер `file` ротируется по времени: новый файл каждый час, хранится сутки. С 25.10.2026
ротацию обслуживает собственный поток аппендера, поэтому она срабатывает независимо от
того, чем занят главный поток. Сборки, сделанные раньше, ротировались только пока
обслуживается очередь файберов fc, а `vizd` после старта её не обслуживает (замер 20.10.2026:
нода тестнета написала один файл на 37 МБ за девять часов на уровне `info`, часовых файлов
нет; нода мейннета проработала четыре дня без нового файла) — таким нодам по-прежнему нужен
внешний logrotate. В любом случае ротация ограничивает файл по ВРЕМЕНИ, а не по размеру:
на `debug` нода может писать гигабайты в час. Если нужен только свежий хвост, используйте опциональный
capped-аппендер: один файл, в котором остаются последние `max_lines` строк (по умолчанию
10000, `0` — без ограничения). Он считает строки при записи и сжимается на месте, поэтому
файл держится между `max_lines` и ~1.1 x `max_lines`, без всяких таймеров. Ноды, в конфиге
Expand Down
8 changes: 5 additions & 3 deletions @l10n/zh-CN/docs/node/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -197,10 +197,12 @@ logger.p2p.level = warn
logger.p2p.appenders = p2p
```

`file` appender 已配置为按时间轮转(每小时一个新文件,保留一天),但只有在 fc
纤程队列被处理时轮转才会触发,而 `vizd` 启动后不再处理它(2026-10-20 实测:测试网节点在
`file` appender 按时间轮转:每小时一个新文件,保留一天。自 2026-10-25 起,轮转由
appender 自己的线程处理,因此无论主线程在做什么都会触发。更早构建的版本只有在 fc
纤程队列被处理时才会轮转,而 `vizd` 启动后不再处理它(2026-10-20 实测:测试网节点在
`info` 级别下九小时写了一个 37 MB 的文件,没有任何按小时的文件;主网节点运行四天也没有
产生新文件)。不要指望它来限制文件大小,并注意在 `debug` 下节点每小时可能写出数 GB 日志。
产生新文件)——这类节点仍需要外部 logrotate。无论哪种情况,轮转都按时间而不是按大小限制
文件:在 `debug` 下节点每小时可能写出数 GB 日志。
如果只需要最近的尾部,请使用可选的 capped appender:单个文件,只保留最后 `max_lines` 行
(默认 10000,`0` 表示不限制)。它在写入时统计行数并在原文件上就地压缩,因此文件保持在
`max_lines` 与约 1.1 x `max_lines` 之间,不依赖任何定时器。配置中没有
Expand Down
14 changes: 8 additions & 6 deletions docs/node/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -197,12 +197,14 @@ logger.p2p.level = warn
logger.p2p.appenders = p2p
```

The `file` appender is configured to rotate by time (a new file every hour, kept for a
day), but the rotation only fires while the fc fiber queue is serviced, and `vizd` does not
service it after startup (measured 2026-10-20: a testnet node wrote one 37 MB file in nine
hours at `info`, with no hourly files; the mainnet node ran four days without a new one).
Do not count on it to bound a file, and be aware that at `debug` a node can write
gigabytes per hour. If all you need is the recent tail, use the optional capped appender:
The `file` appender rotates by time: a new file every hour, kept for a day. Since
2026-10-25 the rotation is serviced by the appender's own thread, so it fires regardless of
what the main thread does. Binaries built before that date only rotated while the fc fiber
queue was serviced, and `vizd` does not service it after startup (measured 2026-10-20: a
testnet node wrote one 37 MB file in nine hours at `info`, with no hourly files; the mainnet
node ran four days without a new one) — such nodes still need external logrotate. Either
way, rotation bounds the file by time, not by size: at `debug` a node can write gigabytes
per hour. If all you need is the recent tail, use the optional capped appender:
a single file that keeps only the last `max_lines` lines (default 10000, `0` = unlimited).
It counts lines as it writes and compacts itself in place, so the file stays between
`max_lines` and about 1.1 x `max_lines`, with no timer involved. Nodes whose config has no
Expand Down
2 changes: 1 addition & 1 deletion thirdparty/fc
Submodule fc updated 1 files
+57 −23 src/log/file_appender.cpp
Loading