- 3 minutes to read

Custom Logging, FAQ, Troubleshooting, Message Types, Immutable Custom Logging, Message Types, change, immutable, versioning, cannot modify Can you change Message Types after logging events? Learn why Message Types are immutable and how to use versioning for schema changes.

Changing Message Types After Logging

Can I change Message Types after logging events?

No—Message Types are immutable once events are logged. You cannot rename, delete, or restructure existing Message Types without breaking searchability. Use Message Type versioning to handle schema evolution.

Why Message Types Are Immutable

Message Types define the data model for business intelligence:

Changing a Message Type breaks all these features for historical logs.

What Happens If You Try to Change

Scenario 1: Rename Message Type

Original: OriginalMessageTypeName: "PurchaseOrder#1.0"
Attempted change: Rename to "PurchaseOrder_v1"

Result:

  • Historical logs become orphaned - 500K logged events with "PurchaseOrder#1.0" no longer match renamed type
  • Search Fields stop working - XPath expressions for "PurchaseOrder#1.0" don't apply to "PurchaseOrder_v1"
  • Log Views lose data - "Procurement View" filtered by "PurchaseOrder#1.0" shows zero results
  • Non-Events Monitoring breaks - Volume alerts for "PurchaseOrder#1.0" no longer trigger

Don't rename Message Types.

Scenario 2: Delete Message Type

Attempted: Delete "Invoice#1.0" Message Type

Result:

  • Historical logs lose context - 1 million logged invoices show generic "unknown type"
  • Search Fields deleted - Cannot search by Invoice Number, Customer ID, Invoice Amount
  • Reports break - Finance team's "Invoice View" shows blank
  • Data loss - Cannot retroactively restore deleted Message Type

Never delete Message Types with existing logs.

Solution: Message Type Versioning

When schema changes, create new Message Type version:

Version 1.0 (2025): <Order><OrderId>PO-12345</OrderId></Order>
Version 2.0 (2026): <Order><PurchaseOrderNumber>PO-12345</PurchaseOrderNumber><ShippingMethod>Express</ShippingMethod></Order>

Solution:

  1. Keep "PurchaseOrder#1.0" unchanged - 500K historical logs remain searchable
  2. Create "PurchaseOrder#2.0" - New Message Type for new schema
  3. Configure Search Fields for v2.0 - XPath for renamed field
  4. Update integration code - Set OriginalMessageTypeName: "PurchaseOrder#2.0" for new logs
  5. Both versions coexist - Historical logs (v1.0) and new logs (v2.0) both searchable

Read full guide: FAQ - How do I handle message schema changes over time?

Acceptable Changes (Safe to Modify)

✅ Add New Search Fields

Safe: Create additional Search Field Expressions for existing Message Type—Nodinite re-indexes historical logs.

✅ Update Message Type Description

Safe: Modify description field—zero impact on logs, Search Fields, or Log Views.


Related Topics:
Message Types Overview
Handling Schema Changes (Versioning Guide)
Search Field Expressions

See all FAQs: Troubleshooting Overview

Next Step

Back to Custom Logging Overview