Files
Funnel_Wiki/Logovani.md
2026-04-22 13:01:47 +02:00

64 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Logování
Projekt používá více log kanálů pro oddělení různých typů událostí.
## Kanály
| Kanál | Soubor | Driver | Rotace | Popis |
|-------|--------|--------|--------|-------|
| `stack` | *(dle konfigurace)* | stack | | Výchozí kanál |
| `single` | `storage/logs/laravel.log` | single | ne | Obecné logy Laravelu |
| `daily` | `storage/logs/laravel-YYYY-MM-DD.log` | daily | 14 dní | Daily logy |
| `funnel` | `storage/logs/funnel.log` | single | ne | Funnel/automace logy |
| `eshop` | `storage/logs/eshop-YYYY-MM-DD.log` | daily | 30 dní | Eshop API requesty |
## Co se loguje kde
### `funnel.log`
- `RulesEngine` vyhodnocování pravidel (`rules_engine.evaluate:*`)
- Debug konkrétních kontaktů při průchodu automacemi
### `eshop-YYYY-MM-DD.log`
Každý request na `/api/eshop/cart` a `/api/eshop/order`:
```json
{
"message": "api/eshop/cart",
"context": {
"method": "POST",
"ip": "1.2.3.4",
"site_key": "abc123",
"body": {
"email": "za***@example.cz",
"currency": "CZK",
"items": [...]
},
"status": 200,
"response": { "ok": true, "cart_id": 42, ... }
}
}
```
> E-mail je automaticky maskován (`za***@example.cz`) z důvodu GDPR.
### Laravel Telescope
Dostupný na `/telescope` loguje HTTP requesty, queue joby, SQL dotazy, výjimky, emaily. Pouze ve vývojovém prostředí.
### Laravel Pulse
Dostupný na `/pulse` real-time monitoring výkonu (slow queries, failed jobs, queue depth...).
## Rotace logů
Pro produkci doporučujeme `logrotate` nebo nastavit `daily` driver s odpovídajícím `days` limitem. Aktuální nastavení:
- `eshop`: 30 dní
- `daily` (Laravel): 14 dní
## Přidání vlastního logu
```php
use Illuminate\Support\Facades\Log;
Log::channel('funnel')->info('my_event', ['data' => $data]);
Log::channel('eshop')->warning('something_wrong', [...]);
```