AFS_AETHER_LOG_PATH
Deep-dive reference for:
AFS_AETHER_LOG_PATH
Status
active
Audience
production/user
Type and Default
- Type: filesystem path (
PathBuf). - Default:
- unset (
None) as a raw config value - effective default for file logging:
<cache_dir>/logs/aether.log
- unset (
What It Does
Specifies the file path used for Aether logs when AFS_AETHER_LOG_DESTINATION=file.
If destination is stdout or stderr, this path is stored in config but not used as
the active log writer target.
Input Surfaces
- Env:
AFS_AETHER_LOG_PATH=/path/to/aether.log - Config file (
aether.toml):[logging]
path = "/path/to/aether.log"
There is currently no dedicated CLI flag for log path.
Resolution and Override Order
- Built-in default (no explicit path)
aether.toml([logging].path)- Environment (
AFS_AETHER_LOG_PATH)
Effective Path Resolution
resolved_log_path() behaves as:
- destination =
file:- explicit path if set, otherwise
<cache_dir>/logs/aether.log
- explicit path if set, otherwise
- destination =
stdoutorstderr:- returns explicit
log_pathonly if set, otherwiseNone
- returns explicit
Logging Runtime Behavior
- File destination:
- parent directories are created as needed
- file is opened/appended (or rotated, depending on rotation settings)
- Stdout/stderr destination:
- writer ignores
log_path
- writer ignores
aether logs tail Behavior
aether logs tail resolves the file to tail in this order:
config.resolved_log_path()- direct env lookup via
AFS_AETHER_LOG_PATH
If neither yields a path, it reports that logs are on stdout/stderr and tailing is unavailable.
Validation and Failure Modes
- Path value itself is not strongly validated at parse time.
- Runtime startup fails if file destination cannot open/create the path.
- With hourly/daily rotation, paths without a directory component can fail path splitting.
Reload Behavior (SIGHUP)
log_path changes are detected on config reload, but are not hot-applied.
The process logs a restart-required warning; path changes take effect after restart.
Examples
- Explicit file log path:
AFS_AETHER_LOG_DESTINATION=file AFS_AETHER_LOG_PATH=/var/log/aether/aether.log aether mount --session-id s1 --mount-dir /mnt/aether
- Use default file path under cache root:
AFS_AETHER_LOG_DESTINATION=file aether mount --session-id s1 --mount-dir /mnt/aether
Related Variables
AFS_AETHER_LOG_DESTINATIONAFS_AETHER_LOG_ROTATIONAFS_AETHER_LOG_ROTATION_MAX_BYTESAFS_AETHER_LOG_ROTATION_MAX_FILESAFS_AETHER_CACHE_DIR
Primary Implementation Sources
packages/aether/src/config/types/file_config_loader.rspackages/aether/src/config/types/apply_env.rspackages/aether/src/config/types/config_resolution.rspackages/aether/src/observability/logging.rspackages/aether/src/config/reload.rspackages/aether-cli/src/app/dispatch_and_runtime.rs