feat: vereinheitliche Startup-Logs in allen Backend-Services, verbessere Konsistenz und Diagnosemöglichkeiten

Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
This commit is contained in:
2026-04-16 18:47:32 +02:00
parent 8f45544fe1
commit 0426d4ee9a
12 changed files with 275 additions and 24 deletions
@@ -0,0 +1,58 @@
# 📓 Journal-Eintrag: 2026-04-16 - Vereinheitlichung der Service-Start-Logs
## 🏗️ Status Quo
Nach dem Vorbild des `masterdata-service` sollten alle Backend-Services konsistente Informationen beim Start in die
Konsole loggen.
## 🚀 Umgesetzte Änderungen
### 1. onApplicationReady() Implementierung
In allen 11 Backend-Services wurde die Methode `onApplicationReady()` in der jeweiligen Application-Klasse
implementiert. Diese reagiert auf das `ApplicationReadyEvent` von Spring Boot.
**Betroffene Services:**
- `api-gateway`
- `masterdata-service` (bereits vorhanden)
- `events-service`
- `zns-import-service`
- `ping-service`
- `billing-service`
- `entries-service`
- `identity-service`
- `mail-service`
- `results-service`
- `scheduling-service`
- `series-service`
### 2. Standardisiertes Log-Format
Das Log-Format wurde vereinheitlicht und gibt nun folgende Informationen aus:
- Anwendungsname (aus `spring.application.name`)
- Spring Management Port (Actuator)
- Ktor API Port (falls zutreffend, z.B. bei `masterdata-service`)
- Aktive Spring-Profile
**Beispiel:**
```
----------------------------------------------------------
Application 'events-service' is running!
Spring Management Port: 8085
Profiles: docker
----------------------------------------------------------
```
## 🛠️ Technische Details
- Verwendung von `@EventListener(ApplicationReadyEvent::class)` für den exakten Zeitpunkt, wenn die App bereit ist.
- Dynamisches Auslesen der Ports und Profile über das `Environment` Objekt.
- Bereinigung der `main`-Funktion im API Gateway zugunsten des deklarativen `@EventListener` Ansatzes.
---
**🧹 [Curator]**: Start-Logs über alle Backend-Services hinweg konsolidiert.
**👷 [Backend Developer]**: Alle Application-Klassen konsistent refactored.
**🏗️ [Lead Architect]**: Observability und Diagnosemöglichkeiten beim Systemstart verbessert.