Table of Contents

Debugging the ForNAV Report Service

The ForNAV Report Service runs as a Windows service (ForNavReportService) with no visible console, so diagnosing a problem means turning on logging. This page covers all the ways to do that.

Windows Event Log — always on

Every service start, stop, and error is written to the Windows Event Log, regardless of any debug setting:

Applications and Services Logs → ForNAV, source Report Service

This is the first place to check, especially for startup failures (for example, the HTTPS certificate binding — see Setting Up HTTPS).

Enable verbose logging (DebugLevel)

For per-request detail, raise DebugLevel in the service configuration file:

C:\ProgramData\ForNAV\Report Service\Configuration\Report Service.json
{
  "Url": "http://localhost:9030/ForNavReportService/",
  "CertificateThumbprint": "",
  "MaxConcurrentRequests": 100,
  "MaxConcurrentTasks": 1,
  "DebugLevel": 2
}
Value What it adds
0 Off (default)
1 A text log line for every request received and completed, plus the active configuration is dumped to the log folder on startup
2 Everything from level 1, plus the raw request body and the rendered response (PDF) are saved to disk for every request

See Report Service Configuration for the full settings reference.

After editing the file, restart the ForNAV Report Service Windows service (services.msc) for the new level to take effect.

Level 2 writes a file pair for every single request. Use it only while reproducing a problem, then set DebugLevel back to 0 — old files are purged automatically after about a day, but a busy service can still generate a lot of data quickly.

Where the files go

C:\ProgramData\ForNAV\Report Service\Logs
  • Log_yyyyMMdd_HHmmss.txt — the text log (a new file is started each day the service is running)
  • Files\ — raw request/response dumps, only created at DebugLevel 2 (Request_<id>.bin, Response_<id>.pdf)

Automatic error dumps

Independently of DebugLevel, whenever a request throws an exception the service always saves the raw request body to:

%TEMP%\ForNAV\Report Service\Debug\<request-guid>.bin

The path to that file is included in the error message returned to Business Central, so you don't need to enable any logging up front to get a repro file for a failing request.

Built-in status page

Calling the service URL directly, with no query string, returns a small status page instead of a report:

http://localhost:9030/ForNavReportService/

It shows the running version, uptime, total request count, the debug files folder, and a table of the last 100 requests (name, action, dataset/output size, timing) with a link to that request's debug dump file when one exists.