📊 Abilitare Log Dettagliati in Produzione
✅ Modifiche Applicate
1. Next.js Config - Logging Verbose
File: next.config.ts
const nextConfig: NextConfig = {
logging: {
fetches: {
fullUrl: true,
},
},
experimental: {
logging: {
level: "verbose",
},
},
};2. Variabili d’Ambiente (sul server)
Aggiungi al file /var/www/foodcost/.env.production:
# Logging dettagliato
NODE_ENV=production
NODE_OPTIONS=--trace-warnings
DEBUG=*3. PM2 già configurato ✅
Il tuo ecosystem.config.js è già configurato correttamente con:
out_fileper stdouterror_fileper stderrlog_date_formatper timestampmerge_logs: true
🚀 Applicare le Modifiche
Sul Server:
cd /var/www/foodcost
# 1. Aggiungi le variabili d'ambiente
echo "NODE_OPTIONS=--trace-warnings" >> .env.production
echo "DEBUG=*" >> .env.production
# 2. Rebuild Next.js (se hai cambiato next.config.ts)
npm run build
# 3. Riavvia PM2 con nuove env
pm2 restart foodcost --update-env
# 4. Verifica che le variabili siano caricate
pm2 env 0 | grep NODE_OPTIONS📁 Dove Trovare i Log
# Log standard Next.js
tail -f /var/www/foodcost/logs/pm2-out.log
# Log errori
tail -f /var/www/foodcost/logs/pm2-error.log
# Log autenticazione
tail -f /var/www/foodcost/logs/auth.log
# Log middleware (nuovo!)
tail -f /var/www/foodcost/logs/middleware.log
# Tutti insieme (split screen)
# Terminale 1:
tail -f /var/www/foodcost/logs/pm2-out.log
# Terminale 2:
tail -f /var/www/foodcost/logs/middleware.log🔍 Aumentare Ancora di Più i Log
Se serve ancora più dettaglio, aggiungi al .env.production:
# Log dettagliatissimi
NODE_ENV=production
DEBUG=*
NEXT_DEBUG=1
NODE_OPTIONS=--trace-warnings --trace-deprecation
# Abilita source maps per stack trace migliori
GENERATE_SOURCEMAP=truePoi in next.config.ts:
productionBrowserSourceMaps: true, // ⚠️ Solo per debug, rallenta💡 Comandi Utili PM2
# Vedere log in tempo reale con colori
pm2 logs foodcost --raw
# Log con filtro
pm2 logs foodcost | grep MIDDLEWARE
# Aumentare il buffer dei log
pm2 logs foodcost --lines 1000
# Flush/pulire i log vecchi
pm2 flush foodcost🐛 Debug Specifico per il Problema Token
Nei log ora dovresti vedere:
[MIDDLEWARE] Path: /dashboard, Cookies: auth-token, Token present: true
[MIDDLEWARE] Verifying token for /dashboard {"secretPrefix":"foodcost-f...","tokenLength":XXX,"tokenPrefix":"eyJhbGci..."}
[MIDDLEWARE] ❌ Token VERIFICATION FAILED {"errorName":"JsonWebTokenError","errorMessage":"invalid signature",...}Questo ti dirà esattamente perché il token fallisce.
⚡ Quick Test
Dopo aver applicato le modifiche:
# Riavvia e monitora
pm2 restart foodcost --update-env
pm2 logs foodcost --lines 0
# Prova il login
# Dovresti vedere MOLTO più output nei log🎯 Checklist
-
next.config.tsaggiornato con logging verbose -
.env.productionsul server conNODE_OPTIONSeDEBUG -
npm run buildeseguito - PM2 riavviato con
--update-env - Verificato che i log appaiano in
pm2 logs foodcost - File
/var/www/foodcost/logs/middleware.logviene creato - Test login e verifica output dettagliato
Ora i log saranno molto più dettagliati! 🚀
Last updated on