Maintenance
Logs and troubleshooting
Add useful diagnostics, find relevant errors and prepare a reproducible report.
Find the right log
On Windows, the usual root is %LOCALAPPDATA%/NimbyRailsFrance/logs/. Find the component and time of your test. The Hub log explains a build or activation; a mod or application log explains its execution.
On the JVM, DiagnosticLog writes to a component directory and a per-process file. NRF_LOG_DIR overrides its root; an explicit constructor root also lets you choose the directory. Files rotate with a size limit: retain incident evidence promptly.
val log = fr.nimby.sdk.DiagnosticLog.forComponent("mon-outil")
log.startApplication("0.1.0")
log.write("Profile loaded")Log useful events
context.log("Preview unavailable", LogLevel.Warning)ToolContext.log accepts a UTF-8 message of 1 to 4,096 bytes, without a null character, using Info, Warning or Error. Use the context only during its callback. Record a state change, requested action, result or actionable error; avoid one message per successful read.
DiagnosticLog coalesces identical repetitions over a short period. Keep a stable message and add only the necessary information: operation, affected identity, result and session context. Do not create unique text on every tick to defeat coalescing.
Connect the symptom to a check
| Symptom | First check |
|---|---|
| Unresolved Kotlin import | Native or JVM API, selected kit, Gradle reload and first configuration error. |
| Package built, old behaviour in game | Actually activated profile, loaded versions and launch after activation. |
| Signal showing fallback | Freshness, setting availability, occupancy and neighbour resolution before the image. |
| Tool refused or result pending | Game state, session and ticket result; do not replay the request without checking. |
| File missing after installation | First copy or verification failure and protection history at the same time. |
Provide a reproducible report
- Game, SDK, kit, mod and application versions; Windows version.
- Exact steps, save or small scenario, selected speed and actions before the incident.
- Expected and observed results, with time and time zone; useful identities within the relevant session.
- First error and preceding lines, followed by recovery or shutdown outcome.
Logs may contain local paths and game names. Review the report before sharing it. If you remove personal information, say so while preserving the times, codes and event order needed for diagnosis.