Diagnostics

Stable event codes and categories, level gating before construction, and why diagnostics never contain payload bytes, keys or credentials.

Editor NexusForge Persistence 0.2.0 Updated

One method to receive everything#

csharp
public interface IPersistenceLogger
{
    void Log(PersistenceEvent persistenceEvent);
}

Every subsystem reports through PersistenceDiagnostics, which pairs your logger with the session clock and applies the configured minimum level before an event object is constructed. Filtering early is what keeps verbose diagnostics from costing frames.

csharp
options.Diagnostics.MinimumLogLevel = PersistenceLogLevel.Information;

Stable codes, not prose#

PersistenceEventCode values are stable strings (NF.PERSIST.STORAGE.NOT_FOUND, NF.PERSIST.LIFECYCLE.INIT_REJECTED, …), grouped by PersistenceEventCategory. Quote the code in a report: it is usually enough to identify the problem without a screenshot of a stack trace.

Nothing sensitive is ever logged#

The Editor uses the same format#

The Inspector's validation panel, the Validation page, the Save Browser and the identity scanner all render findings with the same shape — what happened, why it matters, how to fix it — because there is one diagnostics system rather than a runtime one and an Editor one that disagree.

Next#

Something wrong on this page? Every page here describes behaviour that is checked in the repository. If a page and the package disagree, the package wins.

Report a documentation problem · Frequently asked questions · Troubleshooting