Analyze errors in your Umbraco website using Artificial Intelligence!
Stop wasting hours reading through log files. Let AI analyze your website's errors and give you clear, actionable solutions in plain English.
| Package | NuGet |
|---|---|
| AI.Diagnostics |
Your logs are analyzed by powerful AI models that understand common web application issues and can explain them clearly.
If the same error appears 100 times, you'll see it as one issue with a count of "100" - not 100 separate items!
AI is provided through Umbraco.AI. Install provider packages (for example Google Gemini, OpenAI, Azure OpenAI, or others supported by Umbraco.AI) and configure them in the backoffice AI section—no AIProvider or provider API keys inside AI:Diagnostics anymore.
Easy-to-use interface right inside your Umbraco admin panel.
Get detailed analysis with:
- Overall health summary
- Likely causes for each issue
- Step-by-step fix suggestions
- Reference documentation links
- Severity assessments
dotnet add package AI.DiagnosticsInstall-Package AI.Diagnostics- Right-click on your project in Visual Studio
- Click "Manage NuGet Packages..."
- Click the "Browse" tab
- Search for:
AI.Diagnostics - Click "Install"
Installing AI.Diagnostics also brings in the Umbraco.AI NuGet dependency. You still add at least one Umbraco.AI provider package on your site (see configuration below).
This package does not embed Gemini, OpenAI, Ollama, or Azure clients in appsettings.json the way older versions did. Instead:
AI.Diagnosticsdepends onUmbraco.AI(see your.csproj/ NuGet after install).- Connections, models, and API keys live in Umbraco.AI (backoffice AI section and Umbraco.AI configuration).
AI:Diagnosticsonly holds diagnostics behaviour (batch size, optional chat profile alias, prompt path, etc.). Log levels are chosen in the backoffice for each analysis.
- Add provider packages compatible with your
Umbraco.AIversion, for example:dotnet add package Umbraco.AI.Google dotnet add package Umbraco.AI.OpenAI
- Open the AI section in the Umbraco backoffice.
- Create a connection, a chat profile, and set a default chat profile (or use
UmbracoAiProfileAliasin Step 2).
(You can still use free/local or cloud models—whatever your chosen Umbraco.AI providers support.)
Open appsettings.json in your Umbraco project and add or merge this section.
{
"AI": {
"Diagnostics": {
"MaxBatchSize": 100,
"EnableAI": true,
"UmbracoAiProfileAlias": "my-diagnostics-profile",
"PromptFilePath": "prompt/analysis-prompt.txt"
}
}
}- Omit
UmbracoAiProfileAlias(or leave it empty) to use the default chat profile from Umbraco.AI. - Log levels for each run are chosen in the backoffice (Umbraco / Serilog names:
Verbose,Debug,Information,Warning,Error,Fatal).Criticalis treated asFatalwhen querying the log viewer.
These defaults come from DiagnosticsOptions in the package (AI:Diagnostics binding):
| Setting | Default |
|---|---|
| MaxBatchSize | 100 |
| EnableAI | true |
| UmbracoAiProfileAlias | (empty → use Umbraco.AI default chat profile) |
| PromptFilePath | prompt/analysis-prompt.txt |
- Log levels are not set in
appsettings.json; pick them in the AI Diagnostics UI (or API) for each analysis. - MaxBatchSize: Maximum number of unique issues to analyze in one batch.
- EnableAI:
true= call AI through Umbraco.AI;false= grouped logs without AI calls. - UmbracoAiProfileAlias: Optional Umbraco.AI chat profile alias. If not set, the site default chat profile is used.
- PromptFilePath: Optional custom analysis prompt file under the site content root.
Note: Older docs used
AIProvider,Gemini,Ollama,OpenAI,AzureOpenAIunderAI:Diagnostics. That shape is removed. Configure providers only through Umbraco.AI.
- Start your Umbraco website (press F5 in Visual Studio)
- Log in to the Umbraco admin panel (the backoffice)
- Click on "Settings" in the left menu
- Click "AI Diagnostics"
- Choose which types of errors to analyze (Error, Warning, Fatal)
- Select a time range (last hour, day, week, etc.)
- Click the big "Analyze Logs" button
- Wait a few seconds while AI does its magic! ✨
You can also open Settings → Log Viewer → Search and use AI Analysis on individual rows (for Error, Warning, or Fatal) when the log viewer filter matches.
The analysis report includes:
📈 Summary Statistics
- Total logs analyzed
- Number of unique issues found
- Overall health assessment from AI
🔍 Detailed Analysis for Each Issue
- Log Entry: The actual error message and when it occurred
- Occurrence Count: How many times this exact issue appeared
- Likely Cause: AI's explanation of what's wrong (in plain English!)
- Suggested Fixes: Step-by-step solutions to try (ordered from easiest to most complex)
- Reference Links: Helpful documentation and guides
- Severity Assessment: How serious the issue is (Low, Medium, High, Critical)
We're actively working on exciting new features:
- 📄 Export to PDF/Excel: Download analysis reports
- 📊 Trend Analysis: Track if errors are increasing or decreasing over time
- 🎨 Enhanced Visualizations: More charts and graphs
Found a bug or have a suggestion? We'd love to hear from you!
👉 Report Issues: GitHub Issues
When reporting an issue, please include:
- What you expected to happen
- What actually happened
- Error messages (if any)
- Your configuration (without API keys!)
- Steps to reproduce
This project is licensed under the MIT License - see the LICENSE file for details.
Built with:
- ❤️ Love for the Umbraco community
- 🤖 Powered by Umbraco.AI and your chosen providers
- ☕ Lots of coffee
Happy debugging! 🎉
Made with ❤️ for the Umbraco community