Skip to content
English
  • There are no suggestions because the search field is empty.

How To Change The Log Level In Ignition

The Timebase Historian Module writes log messages to Ignition's standard gateway log.

Overview

The Timebase Historian Module writes log messages to Ignition's standard gateway log. By default, only INFO, WARNING, and ERROR messages are shown — enough to track normal operation and spot problems. When you need to diagnose a specific issue (authentication failures, query path errors, data gaps), you can increase the verbosity for individual module classes without affecting the rest of your gateway logs.

How to Change the Log Level in Ignition

Log levels are configured per logger in the Ignition Gateway web interface:

  1. Open the Ignition Gateway web interface.
  2. Navigate to Config > System > Console.
  3. Click the Log Levels tab.
  4. In the Add Logger field, enter the full class name (see the table below).
  5. Set the desired level from the dropdown: ErrorWarnInfoDebug, or Trace.
  6. Click Add.

The change takes effect immediately — no restart required. To revert to the default, remove the entry from the list or set it back to Info.

Note: Debug and Trace levels produce a high volume of log output. Enable them only while actively diagnosing an issue, then revert when you are done.

Module Logger Names

All module loggers are in the com.flowsoftware.timebase.historian.gateway package. Enter these exact names in the Log Levels tab:

Logger name What it covers
com.flowsoftware.timebase.historian.gateway.GatewayHook Module startup and shutdown lifecycle
com.flowsoftware.timebase.historian.gateway.TimebaseHistorian Historian provider startup, shutdown, Store and Forward bridge wiring
com.flowsoftware.timebase.historian.gateway.TimebaseRestClient All HTTP calls to Timebase — authentication, health checks, write requests
com.flowsoftware.timebase.historian.gateway.TimebaseStorageEngine Tag data writes, metadata sync, write error throttling
com.flowsoftware.timebase.historian.gateway.TimebaseQueryEngine Tag browsing and historical query path resolution

To increase verbosity for all module classes at once, add the parent package instead:

com.flowsoftware.timebase.historian.gateway

Setting a level on the parent package applies it to all classes within it.

What Each Level Shows

INFO (default)

Normal operational messages. You should see these during healthy operation:

Class Example message
GatewayHook Timebase Historian module started
TimebaseHistorian Historian 'Timebase' starting up
TimebaseHistorian Historian 'Timebase' started - gateway name: 'Ignition-FLSN03'
TimebaseHistorian Timebase backend reachable; S&F drain bridge initialized
TimebaseRestClient Timebase backend is reachable
TimebaseStorageEngine Loaded metadata cache for dataset 'Ignition-default': 42 tag(s)
TimebaseStorageEngine Storage writes restored (3 errors were suppressed since last log)

WARN

Conditions that are recoverable but worth investigating:

Class Example message What it means
TimebaseHistorian Timebase backend unreachable at startup; S&F will buffer in memory until backend recovers Timebase was down when Ignition started — data is buffering
TimebaseRestClient No bearer token, attempting refresh Module is fetching the first OAuth2 token
TimebaseRestClient Token expired, refreshing and retrying Normal token refresh; only a concern if it repeats without recovery
TimebaseStorageEngine Failed to upsert 3 tag metadata record(s) to dataset 'Ignition-default'; cache left stale, will retry on next change Metadata write failed — values will be retried on the next property change
TimebaseQueryEngine Browse failed: <message> Tag tree browse returned an error
TimebaseQueryEngine Could not determine dataset for query path: <path> histprov: path could not be parsed — check the path format

ERROR

Failures that require attention:

Class Example message What it means
TimebaseRestClient Failed to call endpoint: /api/..., status: 401, body: ... HTTP call failed — check Timebase URL and credentials
TimebaseRestClient Timebase backend is unreachable: <message> Health check failed — Timebase may be down
TimebaseStorageEngine Failed to store atomic points: <message> Write failed; if throttled: (n similar errors suppressed since last log)
TimebaseStorageEngine Failed to apply source changes (tag retirement/rename) Tag lifecycle null write failed
TimebaseStorageEngine Failed to send null batch for dataset: Ignition-default Shutdown null write failed
TimebaseHistorian Failed to initialize S&F drain bridge Store and Forward wiring failed at startup

DEBUG

Detailed operational information useful when tracing data flow. Generates moderate log volume.

  • TimebaseStorageEngine — logs each write batch: how many tags were split into how many chunks, metadata upsert counts per dataset
  • TimebaseQueryEngine — logs each browse call with result counts, query grouping by dataset, API call parameters (dataset, time range, tag list), and API response metrics

Example DEBUG entries:

Split 87 tags into 4 chunks for dataset: Ignition-default
doQueryRaw GROUPED: 2 dataset(s): [Ignition-default, Ignition-OtherProvider]
doQueryRaw API CALL: dataset='Ignition-default', unixStart=1738..., unixEnd=1738..., tagnames=[Pump/Speed, Pump/Temp]
doQueryRaw RESULT: pushed 120 points, unmatched 0, total parsed 120

TRACE

The most detailed level — logs individual data points and internal path-resolution steps. Use this only when DEBUG output is not specific enough.

  • TimebaseQueryEngine — logs every step of histprov: path parsing, each point being pushed to Ignition (first 3 per query), and key-matching logic for unmatched API results
  • TimebaseStorageEngine — logs path component breakdown for each write batch

Example TRACE entries:

doQueryRaw PATH DEBUG: source=histprov:Timebase:/drv:Ignition-FLSN03:Ignition-default:/tag:Pump/Speed, ...
doQueryRaw EXTRACTION step1: dataset=Ignition-default, tagPath=Pump/Speed
doQueryRaw PUSHING point #1: tag='Pump/Speed', ts=1738..., value=42.5, quality=192, source=...

Common Diagnostic Scenarios

No data appearing in Timebase after writing tags

  1. Set com.flowsoftware.timebase.historian.gateway.TimebaseStorageEngine to Debug.
  2. Trigger a tag write and watch for Split N tags into M chunks — if absent, data is not reaching the storage engine.
  3. Watch for Failed to store atomic points errors.

Query returns no data in Ignition charts

  1. Set com.flowsoftware.timebase.historian.gateway.TimebaseQueryEngine to Debug.
  2. Run a historical query and look for doQueryRaw GROUPED — verify the dataset name matches what you expect.
  3. If you see Could not determine dataset for query path, set the logger to Trace and examine the PATH DEBUG line to identify which component of the path is wrong.

Authentication errors

  1. Set com.flowsoftware.timebase.historian.gateway.TimebaseRestClient to Debug.
  2. Look for 401 status codes in Failed to call endpoint messages and Token expired warnings.
  3. Verify the Pulse URL, Client Id, and Client Secret are correct in the historian provider settings.

Store and Forward not draining after Timebase recovery

  1. Confirm com.flowsoftware.timebase.historian.gateway.TimebaseRestClient is at Info (default) and watch for the Timebase backend is reachable message.
  2. Watch for Storage writes restored from TimebaseStorageEngine — this confirms the drain bridge has opened.
  3. If these messages do not appear within 30 seconds of Timebase recovering, set TimebaseRestClient to Debug to examine the health check calls in detail.