A .NET 10 console app that ingests logs from files or Azure Event Hubs, analyzes them with the GitHub Copilot SDK, and opens deduplicated GitHub issues through the GitHub MCP Server.
$ dotnet run -- Frank802/my-app ./logs
โ Scanning logsโฆ 14 entries above Error
โ Copilot session opened (claude-sonnet-4.5)
โ Created issue #128 โ NullReferenceException in OrderService
โ Deduplicated โ matches existing #112
Each log entry gets its own Copilot session that identifies errors, exceptions, and root causes โ not just regex matches.
Searches existing issues via the GitHub MCP Server before opening anything new, so your tracker stays clean.
Read from local .log/.txt files or stream continuously from Azure Event Hubs.
A configurable concurrency gate processes multiple log entries simultaneously without hammering the API.
Layered config: CLI args โ environment variables โ appsettings.Local.json โ appsettings.json.
Ship it in a container with the Copilot CLI preinstalled. One docker run and you're triaging.
Logs are read from the configured source (filesystem or Event Hub) and filtered to your minimum severity.
Each entry is dispatched to a dedicated Copilot session with a tailored system prompt.
The session calls search_issues on the GitHub MCP Server to avoid filing duplicates.
If unique, create_issue opens a well-structured issue in your target repository.
PATHrepo scopegit clone https://github.com/Frank802/ghcp-logs-analyzer.git
cd ghcp-logs-analyzer/src
dotnet restore && dotnet build
# point it at your repo + a folder of logs
dotnet run -- owner/repo ../sample-logs
Full configuration, Docker instructions, and architecture diagram live in the project README.