pub fn init(log_file: Option<&Path>) -> Result<(), PawError>
Initialises the global logger. Idempotent: a second call is a no-op (the first configuration wins), which keeps tests that spin up the server repeatedly from panicking.