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.