- 5 minutes to read
Serilog - Common Questions (FAQ)
Quick answers to frequently asked questions (FAQ) about logging with the Nodinite Serilog sinks. Each answer links to the feature it relies on, such as Message Types, Search Field Expressions, Log Views, and Non-Events Monitoring, so you can read further where it matters to you.
| # | Question | Quick Answer |
|---|---|---|
| 1 | Can business users search logs without Kusto query knowledge? | Yes—Log Views with Roles enable business analysts to search by Message Types and business data. Zero Kusto knowledge required. Read more in Can business users create their own reports? |
| 2 | Can I extract data from .NET Exception objects logged with LogError? | Yes—Nodinite automatically serializes .NET Exceptions to JSON in Context. Use the Formula plugin to extract Exception.Message, StackTrace, etc. See also How do I generate Exception Log Events? |
| 3 | Can I log to multiple destinations simultaneously? | Yes—Serilog supports multiple sinks concurrently (e.g., Nodinite Event Hub + Application Insights). Perfect for migration periods. Read more in Can I log to multiple destinations? |
| 4 | Can I retroactively extract business data I forgot to log initially? | Yes—Create a new Search Field Expression, then reindex the Search Field to extract from historical payloads. No code redeployment needed. Read more in How do I extract business data? |
| 5 | Do I need to set OriginalMessageTypeName in every log call? | Yes—Absolutely critical for Search Field extraction, Log Views filtering, Non-Events Monitoring, and BPM correlation. Read more in Why is OriginalMessageTypeName mandatory? |
| 6 | Does Nodinite truncate payloads like Application Insights? | No—Unlimited payload size. Application Insights truncates at 64KB. Nodinite logs 10MB+ messages without truncation. |
| 7 | How do I correlate transactions across multiple Azure Functions? | Use the ApplicationInterchangeId context property. Generate a GUID at the entry point and propagate it through all Functions via HTTP headers/queue messages. Read more in How does ApplicationInterchangeId enable end-to-end correlation? |
| 8 | How do I implement Managed Identity authentication for zero secrets? | The Event Hub, Service Bus, and Blob Storage sinks support Managed Identity. Assign the identity, grant permissions, and use DefaultAzureCredential. See the configuration examples in How To Start Logging With Serilog. |
| 9 | How do Message Type retention policies work? | Define retention per Message Type—e.g., "PaymentTransaction" kept 7 years, "APIHealthCheck" purged after 7 days. Optimize storage costs. Read more about Message Types. |
| 10 | How much does Nodinite Serilog cost compared to Application Insights? | It depends on your volume, payload sizes, and retention. Application Insights bills per GB ingested and retained, while Nodinite is fixed-price with Azure staging costs. See Reduce Azure Functions Logging Costs and Azure Costs for Blob Storage and Event Hub. |
| 11 | What happens if Event Hub or Pickup Service is down? | Event Hub queues messages (7 days retention). The Serilog sink buffers locally. Zero data loss with automatic retry when the Pickup Service is restored. Read more in FAQ: Service Downtime Reliability. |
| 12 | Which Serilog sink should I choose for Azure Functions? | The Event Hub sink is recommended—asynchronous, reliable messaging, automatic retry, Managed Identity support, up to 1024KB message size. Compare the alternatives in What intermediate storage options work with Pickup Service? |
| 13 | Why does the Log API sink get HTTP 404 from the Log API? | Versions of Nodinite.Serilog.ApiSink before 7.10.9 appended LogEvent/LogEvent to NodiniteApiUrl, a route the Nodinite 7 Log API doesn't serve. Update to 7.10.9 or later and set NodiniteApiUrl to the complete Log Event address, ending in /api/LogEvent. Read more in Log Event address (NodiniteApiUrl). |
More Questions from Custom Logging
Serilog is one of several ways to perform Custom Logging with Nodinite, so these answers apply to your Serilog solution as well:
- Does Custom Logging impact integration performance?
- How do I handle message schema changes over time?
- Can I change Message Types after logging events?
- Do I need intermediate storage or can I call Log API directly?
- Which appender framework should I use (.NET/Java/Python)?
- Custom Logging - Common Questions
Next Steps
- Serilog Overview — Overview of all available Nodinite Serilog sinks
- How To Start Logging With Serilog — Step-by-step setup with NuGet packages, Program.cs, and appsettings.json
- How To Start Logging With Microsoft.Extensions.Logging.ILogger in Azure Functions — Step-by-step setup using ILogger
- Message Types — Plan your Message Types before writing production code
Related Topics
- Settings Section (appsettings.json) — The shared Settings section used by every Nodinite Serilog sink
- FAQ: Service Downtime Reliability — What happens if Event Hub or Pickup Service is down
- Reduce Azure Functions Logging Costs — Lower the Azure cost of logging Azure Functions
- Azure Costs for Blob Storage and Event Hub — What the Blob Storage and Event Hub sinks cost in Azure
- Reduce Azure Logic Apps Run History Retention to Lower TCO — The same approach for Logic Apps
- Reduce Azure API Management Logging Costs — The same approach for API Management
- Search Fields — Extract business data from logged messages
- Search Field Expressions — Define extraction patterns for Order Numbers, Customer IDs, and Invoice amounts
- Formula — Extract values from JSON, XML, and .NET Exceptions
- Log Views — Search logged data by business identifiers
- Roles — Give business users access to the Log Views they need
- Non-Events Monitoring — Track message volumes and detect missing messages
- Business Process Modeling (BPM) — End-to-end transaction tracking
- Pickup Service — Fetches log events from Blob Storage, Event Hub, Service Bus, and file shares
- Log Event — The structure of a Nodinite Log Event