- Vårt erbjudande
- Kundcase
- Insikter & Inspiration
- Om oss

Hem/Insikter & Inspiration/Så här loggar vi på Wizardworks – effektiv exception handling med Application Insights
Så här loggar vi på Wizardworks – effektiv exception handling med Application Insights
/ Data & Integrations /
Så här loggar vi på Wizardworks – effektiv exception handling med Application Insights
Så här loggar vi på Wizardworks – effektiv exception handling med Application Insights
🧙♂️ På Wizardworks bygger vi inte bara robusta lösningar i Microsoft Azure – vi ser också till att våra appar berättar vad som händer under huven. Exception handling och loggning är inte bara något vi gör – det är en del av vårt DNA.
Strukturerad loggning – ett mönster som gör skillnad
När vi loggar i våra applikationer använder vi ett tydligt och konsekvent mönster i varje loggmeddelande. Det gör det lätt att:
- Identifiera loggar för en specifik kund
- Följa en tjänsts eller funktions flöde
- Filtrera loggar med KQL (Kusto Query Language) i Application Insights
- Skapa alerts på viktiga händelser
- Använda en Application Insights-instans för många resurser
Ett typiskt loggmeddelande hos oss kan se ut så här:
_logger.LogError(ex, "[ACMECORP] [PORTAL] [API] [INVOICING] An error occurred while retrieving invoices for customer id.");
Här betyder:
- [ACMECORP] – kunden som applikationen tillhör.
- [PORTAL] [API] [INVOICING] – speglar .NET-projektets namn, t.ex.
Portal.Api.Invoicing.csproj
Tack vare denna struktur kan vi filtrera exakt vad vi vill – oavsett vilken app service, function eller container som skickar loggen.
Delad Application Insights = enklare drift
En fördel med att logga på detta sätt är att en och samma Application Insights-instans kan samla in loggar från många olika resurser. Eftersom varje loggmeddelande innehåller tydlig metadata kring kund och projekt, behöver vi inte sätta upp en separat instans för varje tjänst eller miljö.
Det förenklar:
- Övervakning
- Behörighetshantering
- Underhåll
- Kostnadsoptimering
Hitta rätt loggar med KQL
Vill du se alla loggar från portalens API-tjänster för ACMECORP?
traces | where message startswith "[ACMECORP] [PORTAL] [API]"
Eller vill du bara se loggar där något faktiskt gått fel för alla resurser?
traces | where message startswith "[ACMECORP]" and severityLevel == 3
Alerts – reagera direkt på problem
Den sista queryn ovan används ofta för att trigga en alert. Du kan enkelt koppla detta till en action group som innehåller t.ex. First Line Support, så att någon alltid får besked när ett exception inträffar.
Så här skapar du en alert i Azure Portal:
- Gå till din Application Insights resource
- Klicka på Alerts > New alert rule
- Välj Custom log search som signaltyp
- Ange din KQL-query
- Välj eller skapa en Action Group
- Lägg till e-postadresser till support eller utvecklingsteam
- Definiera villkor för när alerten ska skickas
- Klicka Create alert rule
✅ Fördelarna med vårt log-patttern :
- 🔎 Enkelt att filtrera loggar med KQL
- 🔔 Smidig setup av alerts
- 📦 Strukturerad information som speglar kodbasen
- 🧑💻 Snabbare felsökning och respons vid incidenter
- 🌐 Möjlighet att använda en gemensam Application Insights-instans för hela kundens lösningar
Vill du veta mer om hur vi bygger säkra, skalbara och lätthanterliga lösningar i Azure? Hör av dig till oss på Wizardworks – vi gör magi i molnet. 🪄
