- 3 minutes to read

LogStatusCodeAutoSyncPolicy - System Parameter

New 7.5.24

The LogStatusCodeAutoSyncPolicy System Parameter controls how the Logging Service creates and updates Log Status Code definitions from incoming events. Use it to protect manually curated definitions from being overwritten, globally or per Message Type.

At a Glance

Property Value
Key LogStatusCodeAutoSyncPolicy
Data type json
Default {"default":"Upsert","messageTypes":{}}
Read by Logging Service
Takes effect Within about 15 seconds, for newly processed events; no restart needed
Status ✅ Active
Since Nodinite 7.5.24

How It Works

When an event arrives, the Logging Service checks whether a matching Log Status Code definition exists for the originating Log Agent. The policy decides what happens next (auto-sync):

Mode Behaviour
Upsert Creates the definition if it doesn't exist, or overwrites it if it does. This is the classic Nodinite behaviour and the default.
CreateMissingOnly Creates the definition only if it doesn't exist; existing definitions are never overwritten. A warning is written to the service log when an overwrite was suppressed.
Disabled Never creates or updates definitions from incoming events. You manage all definitions manually in the Web Client.

Value Format

The value is a JSON object:

Property Type Default Meaning
default string "Upsert" The policy for all Message Types without an override: Upsert, CreateMissingOnly, or Disabled.
messageTypes object {} Optional map of Message Type name patterns to a policy mode. Keys are matched case-insensitively and support a trailing * wildcard. The first matching pattern, in declaration order, wins; when none matches, default applies.

Protect All Definitions

{
  "default": "CreateMissingOnly",
  "messageTypes": {}
}

Example: create missing Log Status Codes, never overwrite existing ones. Use "Disabled" instead for full manual governance.

Mixed Policies per Message Type

{
  "default": "Upsert",
  "messageTypes": {
    "Vendor.ResilientEvent/*": "CreateMissingOnly",
    "Legacy.FixedCodes/*": "Disabled"
  }
}

Example: events whose Message Type name starts with Vendor.ResilientEvent/ never overwrite existing definitions, events matching Legacy.FixedCodes/* trigger no auto-sync, and everything else uses Upsert.

Frequently Asked Questions

What happens when an event would have overwritten a code under CreateMissingOnly?

The existing definition is left unchanged and a warning is written to the service log, so you can audit suppressed overwrites without disrupting processing.

Does the wildcard match partial names?

Only a trailing * is supported. The key Vendor.Order/* matches Vendor.Order/1.0 and Vendor.Order/Dispatch, but not Vendor.OrderLine/1.0. Matching is case-insensitive.

Next Steps