LogStatusCodeAutoSyncPolicy - System Parameter
New 7.5.24
Control exactly how the Nodinite Logging Service creates and maintains Log Status Code definitions when incoming events arrive from a Log Agent.
- ✅ Protect manually curated Log Status Code definitions from being overwritten by incoming events
- ✅ Allow new codes to be created automatically while leaving existing ones untouched
- ✅ Disable auto-sync entirely for full manual governance
- ✅ Override the global policy per Message Type for fine-grained control
Info
When an event arrives the Logging Service checks whether a matching Log Status Code definition exists for the originating Log Agent. The LogStatusCodeAutoSyncPolicy parameter decides what happens next.
| System Parameter Name | Data Type | Default value |
|---|---|---|
| LogStatusCodeAutoSyncPolicy | json | {"default":"Upsert","messageTypes":{}} |
This feature is available from Nodinite version 7.x.
Policy modes
Three modes are available. The default field in the JSON value sets the global behaviour. Individual Message Types can override it using the messageTypes map.
| Mode | Behaviour |
|---|---|
Upsert |
Creates the Log Status Code definition if it does not exist, or overwrites it if it does. This is the classic Nodinite behaviour and the default. |
CreateMissingOnly |
Creates the Log Status Code definition only if it does not already exist. Existing definitions are never overwritten. A warning is logged when an incoming event would have caused an overwrite but was suppressed. |
Disabled |
The Logging Service never creates or updates Log Status Code definitions from incoming events. All definitions must be managed manually in the Web Client. |
JSON structure
| Property | Data type | Example | Description |
|---|---|---|---|
default |
string | "Upsert" |
The global policy applied to all Message Types unless a specific override is defined. Accepted values: Upsert, CreateMissingOnly, Disabled. |
messageTypes |
object | {"Vendor.Order/*": "CreateMissingOnly"} |
Optional map of Message Type name patterns to a policy mode. Keys are matched case-insensitively and support a trailing * wildcard. |
Default — Upsert for all (classic behaviour)
{
"default": "Upsert",
"messageTypes": {}
}
Protect all definitions — never overwrite
{
"default": "CreateMissingOnly",
"messageTypes": {}
}
Full manual governance — disable all auto-sync
{
"default": "Disabled",
"messageTypes": {}
}
Mixed — protect one namespace, allow Upsert elsewhere
{
"default": "Upsert",
"messageTypes": {
"Vendor.ResilientEvent/*": "CreateMissingOnly",
"Legacy.FixedCodes/*": "Disabled"
}
}
In this example all events whose Message Type name starts with Vendor.ResilientEvent/ will never overwrite existing Log Status Code definitions. Events matching Legacy.FixedCodes/* will not trigger any auto-sync at all. Everything else uses Upsert.
Frequently Asked Questions
How do I change the value?
Changing a value for the pre-defined System Parameters is described in the generic 'How do I change the System Parameters' article. You must be a member of the built-in Administrator Role.
Do I need to restart anything?
No. The Logging Service reads this parameter at runtime for each event batch. Changes take effect for newly processed events without a service restart.
What happens when an incoming event would have overwritten a code under CreateMissingOnly?
The existing definition is left unchanged and a warning entry is written to the service log. This lets you audit suppressed overwrites without disrupting normal 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.
What is the evaluation order when multiple patterns could match?
The messageTypes map is evaluated in declaration order. The first matching pattern wins. If no pattern matches, the default mode is used.
Next Step
What is a Log Status Code?
Logging Service
Log Agents