[#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-.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). ====