refactor: improve logging system and add deployment fixes

- Enhance logging handlers (Console, DockerJson, File, JsonFile, MultiFile)
- Improve exception and line formatters
- Update logger initialization and processor management
- Add Ansible playbooks for staging 502 error troubleshooting
- Update deployment documentation
- Fix serializer and queue components
- Update error kernel and queued log handler
This commit is contained in:
2025-11-02 01:37:49 +01:00
parent 2defdf2baf
commit cf0ad6e905
23 changed files with 612 additions and 556 deletions

View File

@@ -158,9 +158,40 @@ ansible-playbook -i deployment/ansible/inventory/production.yml \
## Verhindern in Zukunft
1. **Entrypoint-Script:** Das Entrypoint-Script behebt das Problem automatisch beim Container-Start
2. **Image-Build:** Idealerweise sollte die `sites-available/default` Datei im Docker-Image bereits korrekt konfiguriert sein
3. **Alternativ:** Entferne `sites-available/default` komplett und verwende nur `conf.d/default.conf`
### Nach jedem Deployment
**WICHTIG:** Nach jedem Deployment (Push zu staging-Branch) muss dieser Fix ausgef?hrt werden, da die Container neu erstellt werden.
```bash
# Mit Ansible (empfohlen)
ansible-playbook -i deployment/ansible/inventory/production.yml \
deployment/ansible/playbooks/fix-staging-502-quick.yml
# Oder manuell
cd ~/deployment/stacks/staging
docker compose exec -T staging-nginx sed -i '/upstream php-upstream {/,/}/s|server 127.0.0.1:9000;|server staging-app:9000;|g' /etc/nginx/sites-available/default
docker compose restart staging-nginx
```
### Langfristige L?sungen
1. **Entrypoint-Script:** Das Entrypoint-Script behebt das Problem automatisch beim Container-Start (implementiert, aber nicht 100% zuverl?ssig)
2. **Deployment-Script:** Erweitere `.gitea/workflows/build-image.yml` um einen Post-Deployment-Fix (siehe TODO unten)
3. **Image-Build:** Idealerweise sollte die `sites-available/default` Datei im Docker-Image bereits korrekt konfiguriert sein
4. **Alternativ:** Entferne `sites-available/default` komplett und verwende nur `conf.d/default.conf`
### TODO: Deployment-Script erweitern
Das Deployment-Script in `.gitea/workflows/build-image.yml` sollte nach Zeile 991 erweitert werden:
```bash
# Fix nginx upstream configuration - critical fix for 502 errors
echo "?? Fixing nginx PHP-FPM upstream configuration (post-deploy fix)..."
sleep 5
docker compose exec -T staging-nginx sed -i '/upstream php-upstream {/,/}/s|server 127.0.0.1:9000;|server staging-app:9000;|g' /etc/nginx/sites-available/default
docker compose exec -T staging-nginx sed -i '/upstream php-upstream {/,/}/s|server localhost:9000;|server staging-app:9000;|g' /etc/nginx/sites-available/default
docker compose exec -T staging-nginx nginx -t && docker compose restart staging-nginx
```
## Siehe auch