Rate this Page

Config & env#

Quick reference for the knobs that influence logging behavior. Defaults match the source in logging.rs.

Knobs#

Knob

Type & default

How to set

When it takes effect

Affects

Notes

HYPERACTOR_READ_LOG_BUFFER

usize, default 100

Environment variable (process env)

Read when stream forwarders are started

Stream forwarder read/batch behavior

Upper bound on lines read before a forced flush/resume cycle. Useful to bound memory when a child is chatty.

HYPERACTOR_FORCE_FILE_LOG

bool, default false

Environment variable

Read when FileAppender::new() runs

Local file aggregation

If true, create per-proc stdout/stderr files even in Env::Local. If false in Env::Local, file aggregation is skipped.

HYPERACTOR_PREFIX_WITH_RANK

bool, default true

Environment variable

Read when StreamFwder::start(...) wires a stream

Line formatting in the bootstrap process

Prepends "[{rank}] " to each line before shipping/teeing. Toggle requires re-wiring the forwarders to take effect.

DEFAULT_AGGREGATE_WINDOW_SEC

u64, default 5

Compile-time constant; can be overridden at runtime via Python set_mode(..., aggregate_window_sec=…)

Runtime (client actor)

Client aggregation window

If None, aggregation is disabled and lines print immediately. When switching from SomeNone, pending aggregates are flushed first.

MAX_LINE_SIZE

usize, default 4 * 1024

Compile-time constant

Always on

Line truncation in stream forwarder

Lines longer than 4 KiB are truncated and suffixed with "… [TRUNCATED]" before reaching the client.

↯ Defined as the READ_LOG_BUFFER attr in code (maps to env HYPERACTOR_READ_LOG_BUFFER).

Runtime vs restart#

  • Runtime-adjustable: aggregation window (via Python LoggingMeshClient.set_mode(..., aggregate_window_sec=…)).

  • Apply on (re)start/wiring: HYPERACTOR_FORCE_FILE_LOG, HYPERACTOR_PREFIX_WITH_RANK, HYPERACTOR_READ_LOG_BUFFER — changing these requires recreating the corresponding forwarders/file appenders to take effect.

  • Fixed at build time: MAX_LINE_SIZE, the default value of DEFAULT_AGGREGATE_WINDOW_SEC (you can still override the window at runtime via Python).