- 0 minutes to read

Logging with the WCF Diagnostics tracing feature

In your environment you may have multiple WCF Applications running on different servers. This means you may end up having tons of files to search. You may have different developers having enabled or tuned logging differently due to lack of governance. With Nodinite you get total control and a foundation for governance and an active documentation using our Repository Model. With Nodinite you can centralize logging and manage/share insights from logged events.

Important

Configure Message Types for business intelligence

When implementing WCF Diagnostics Tracing, you must configure Message Types using the DefaultMessageType and MessageTypeFromBody properties in your WCF application's configuration file. Without Message Types configured:

  1. Search Field Expressions cannot extract business data - Order IDs, Customer Numbers, and Invoice Numbers from WCF messages won't be searchable
  2. Log Views cannot provide self-service - Business users will only see timestamps and correlation IDs, not the business data they need
  3. Non-Events Monitoring cannot track volumes - You cannot detect missing transactions, failed WCF calls, or data outages
  4. Business Process Modeling (BPM) cannot correlate transactions - End-to-end tracking across your WCF applications and other systems won't work

See the Configuration guide to set DefaultMessageType and MessageTypeFromBody properties, then configure Message Types in Nodinite Administration.

graph LR subgraph "WCF Enabled Application" roWCFApplication(fal:fa-globe WCF Application)--> roWCFTracing(fal:fa-bolt WCF Diagnostic Tracing
Configuration file
Nodinite DLL files ) roFolder(fal:fa-folder Folder) roWCFTracing --> roFolder end subgraph "Nodinite Server" roPS(fal:fa-truck-pickup Pickup Service) roFolder --> |SMB| roPS end

Scenario: Basic Request/Response

In this scenario we have one or more Consumers of the WCF Application.

sequenceDiagram participant Consumer participant WCF Application Consumer->>WCF Application: Request WCF Application->>Consumer: Response

WCF Tracing enabled

With the built-in WCF Tracing enabled the Request and the Response is caught by the framework and copied to the trace engine.

sequenceDiagram participant Consumer participant WCF Application participant WCF Diagnostics Tracing Consumer->>WCF Application: Request WCF Application ->> WCF Diagnostics Tracing: Log Request WCF Application->>Consumer: Response WCF Application ->> WCF Diagnostics Tracing: Log Response

Nodinite Trace listener

When the Nodinite WCF Diagnostics tracing feature is enabled our component (DLL) will create a Json formatted Log Event and write it to the configured output folder. Eventually the Nodinite Pickup Log Events Service Logging Agent will consume these Log Events. This means that Nodinite will NOT waste your disk space and you do not have to setup any cleaning maintenance jobs.

sequenceDiagram participant Consumer participant WCF Application participant WCF Diagnostics Tracing participant Nodinite Trace Listener Consumer->>WCF Application: Request WCF Application ->> WCF Diagnostics Tracing: Log Request WCF Diagnostics Tracing ->> Nodinite Trace Listener: Nodinite Log Event (Json) WCF Application->>Consumer: Response WCF Application ->> WCF Diagnostics Tracing: Log Response WCF Diagnostics Tracing ->> Nodinite Trace Listener: Nodinite Log Event (Json)

Next Step

After enabling WCF Diagnostics Tracing, complete these steps to unlock business intelligence:

  1. Configuration – Configure DefaultMessageType and MessageTypeFromBody properties in your WCF application config file
  2. Message Types – Define business transaction types in Nodinite Administration (Critical first step)
  3. Search Field Expressions – Configure extraction of business data from WCF messages (Order IDs, Customer Numbers, etc.)
  4. Add or manage Log Views – Create views for self-service access to WCF diagnostic data
  5. Non-Events Monitoring (Optional) – Set up alerts for missing WCF transactions or data outages
  6. Business Process Modeling (BPM) (Optional) – Design end-to-end transaction flows across your WCF applications and other systems