Loglama ve Gözlemlenebilirlik¶
Kaynak: internal/logging/logging.go, internal/middleware/middleware.go, kurucu scriptleri. Go süreci slog’u her zaman os.Stdout’a yazar. Uygulama dosya logger’ı yoktur.
Uygulama logger’ı¶
| Ayar | Varsayılan | Etki |
|---|---|---|
LOG_FORMAT |
json |
JSON slog; yalnız text metne geçer |
LOG_LEVEL |
debug |
debug / info / warn / error |
logging.New her zaman ekler: service, environment, instance_id, version.
slog.JSONHandler ayrıca time, level, msg yazar.
Günlükler nereye gider¶
| Çalışma zamanı | Hedef |
|---|---|
Konsol serve |
Süreç stdout |
| Windows Native | Süreç stdout (SCM genelde atar). Kurucu dosyası: C:\IQVizyon\IQVIntegrationAPI\logs\installer-update.log. Event Log kaynağı kaydedilir; uygulama slog’u oraya yazılmaz. |
| Linux Native | systemd journal (journalctl -u iqv-integration-api.service). /var/log/iqvizyon/iqv-integration-api birim ReadWritePaths dizinidir, uygulama log dosyası değildir. |
| Docker | Konteyner stdout/stderr → Docker json-file (max-size: 10m, max-file: 5) |
```bash
Linux native¶
sudo journalctl -u iqv-integration-api.service -f
Docker¶
docker logs -f
request_id¶
- Başlık:
X-Request-ID(internal/requestid) - Yok/geçersiz → yeni UUID
- Yanıtta ve zarfta
request_idolarak döner - Access log
request_idiçerir
Access log alanları¶
middleware.RequestLogger: timestamp, request_id, method, path, status_code, duration_ms, remote_ip, user_agent, message.
Panic recover panic, stack ekler. HTTP start/stop addr, tls_mode yazabilir.
Sorun giderme için log toplama¶
/health/liveve/health/readyyanıtlarını alın (secret yok).- Kurucu/güncelleme günlüklerini toplayın (Windows
installer-update.log; Linux script stdout). - Aynı
request_idiçin stdout/journal/docker logsalın. deployment.json/ Linux deployment metadata alın (secret yok)..env, Mongo URI, token veya ham istek gövdesi eklemeyin.
Asla günlüklemeyin¶
- Authorization başlıkları
- Client secret / JWT secret
- Access token / parola / özel anahtar
- Redakte edilmemiş MongoDB URI
- Hassas ham istek gövdeleri
- Integration actor ObjectID
Config.RedactedMap() mongodb_uri ve health-push bearer’ı redakte eder; actor için yalnız integration_actor_configured (boolean) gösterir.