# Pacotes NuGet Necessários para Instrumentação

## ⚠️ IMPORTANTE: Instalar Pacotes em Ordem

Execute os comandos **individualmente** no diretório do projeto para evitar conflitos:

```bash
cd /mnt/c/vscode/qrrapido
```

### 1. Instalar Pacotes Básicos do Serilog
```bash
dotnet add package Serilog.AspNetCore
dotnet add package Serilog.Sinks.Console  
dotnet add package Serilog.Sinks.Async
```

### 2. Instalar Enrichers Disponíveis
```bash
dotnet add package Serilog.Enrichers.Environment
dotnet add package Serilog.Enrichers.Thread
dotnet add package Serilog.Enrichers.Process
```

### 3. Instalar Health Checks
```bash
dotnet add package Microsoft.Extensions.Diagnostics.HealthChecks
```

### 4. Instalar Seq (Opcional - para produção)
```bash
dotnet add package Serilog.Sinks.Seq
```

### 5. Verificar Instalação
```bash
dotnet build
```

## 🔧 Se houver erros de compilação:

### Erro de "WithMachineName" ou "Seq":
Se alguns enrichers não estiverem disponíveis, isso é normal. O código foi configurado para funcionar sem eles.

### Erro de MongoDB:
```bash
# Se precisar do health check do MongoDB
dotnet add package AspNetCore.HealthChecks.MongoDb
```

### Erro de Performance Counter:
```bash
# Apenas em Windows, opcional
dotnet add package System.Diagnostics.PerformanceCounter
```

## 🚀 Comando Completo (Use apenas se não houver erros):
```bash
dotnet add package Serilog.AspNetCore && \
dotnet add package Serilog.Sinks.Console && \
dotnet add package Serilog.Sinks.Async && \
dotnet add package Serilog.Enrichers.Environment && \
dotnet add package Serilog.Enrichers.Thread && \
dotnet add package Serilog.Enrichers.Process && \
dotnet add package Microsoft.Extensions.Diagnostics.HealthChecks && \
dotnet build
```

## ✅ Verificação Final:
```bash
dotnet build
dotnet run --no-build
```

Se compilar sem erros, a instrumentação está funcionando! 

- **Console logs**: ✅ Funcionando
- **Health checks**: ✅ Disponíveis em `/health/detailed`
- **Monitoramento**: ✅ Rodando em background
- **Seq**: ⏳ Instalar separadamente se necessário

## 🐳 Instalar Seq Localmente (Opcional):
```bash
docker run --name seq -d --restart unless-stopped -e ACCEPT_EULA=Y -p 5341:80 datalust/seq:latest
```

Depois acesse: http://localhost:5341