Skip to Content
TecnicaInfrastruttura📊 Abilitare Log Dettagliati in Produzione

📊 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_file per stdout
  • error_file per stderr
  • log_date_format per timestamp
  • merge_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=true

Poi 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.ts aggiornato con logging verbose
  • .env.production sul server con NODE_OPTIONS e DEBUG
  • npm run build eseguito
  • PM2 riavviato con --update-env
  • Verificato che i log appaiano in pm2 logs foodcost
  • File /var/www/foodcost/logs/middleware.log viene creato
  • Test login e verifica output dettagliato

Ora i log saranno molto più dettagliati! 🚀

Last updated on