| 123456789101112131415161718192021222324252627 |
- [#windows-service-logs]
- == Process log directory
- On Windows, OliveTin writes its **process logs** (startup messages, configuration load, errors, and internal diagnostics) to a log file on disk. By default these files are stored under `%ProgramData%\OliveTin\logs\` as `OliveTin-service-<timestamp>.log`.
- This is separate from xref:logs/saving.adoc[action execution logs] (`saveLogs`), which persist command output from individual actions.
- Portable or self-contained installs often keep OliveTin, its configuration, and its logs together in one folder. Without a custom path, process logs always go to `%ProgramData%`, even when you run OliveTin from another location.
- Add a `serviceLogs` block to your `config.yaml`:
- [source,yaml]
- ----
- serviceLogs:
- directory: ./logs/service/
- ----
- OliveTin creates the directory if it does not exist and writes a new timestamped log file there on each startup.
- If `serviceLogs.directory` is omitted, OliveTin uses the default location: `%ProgramData%\OliveTin\logs\`.
- Relative paths (for example `./logs/service/`) are resolved from the directory containing `OliveTin.exe`. This keeps portable installs self-contained when you colocate logs with the application.
- [NOTE]
- ====
- `serviceLogs.directory` is **Windows only**. If you set it on Linux, macOS, or in a container, OliveTin logs an error at startup and ignores the setting. On those platforms, use xref:troubleshooting/service-logs.adoc[service logs troubleshooting] for how to read process output (for example `journalctl` or container logs).
- ====
|