Log files
Where an app's output goes, and how the files rotate.
Where the logs are
The daemon captures each app's output in its data directory (~/.oxidepm/logs, or under OXIDEPM_HOME):
logs/
├── api-out.log # stdout
├── api-err.log # stderr
└── api-hooks.log # output of the app's event hooksEvery line is timestamped when the daemon writes it. Read them with oxidepm logs <name>, described here.
Rotation
Logs rotate by size, per app. The defaults are 10 MB per file, 5 files, and no compression. Change them in the config file:
[[apps]]
name = "api"
mode = "cmd"
script = "./api"
log_max_size = "50mb"
log_max_files = 10
log_compress = truelog_max_size accepts values such as "10mb", "500kb" or a number of bytes, and a bad value is an error when the file is loaded. log_compress compresses rotated files with gzip.
Truncating
oxidepm flush <selector> truncates the active log files of an app. Rotated files stay. A file that cannot be emptied is reported for that app. The contents are lost, so read the logs before you flush them: a crashed app's logs are the evidence of why it crashed.