2012-03-19 18 views
5

Esiste un modo per eseguire il debug delle applicazioni JSF + PrimeFaces semplicemente guardando un file di registro? Per essere più specifici, ecco come lo faccio personalmente al momento se qualcosa non funziona come previsto:Debug delle applicazioni JSF + PrimeFaces

  1. Cercare l'indicatore visivo sulla pagina Web (ad esempio se ricevo HTTP 500, ovviamente qualcosa non va)
  2. Guardo nel file di registro del server applicazioni per eventuali avvisi, errori o stacktraces
  3. Guardo nella console di rete di Firebug per vedere se ci sono stati errori nella risposta HTTP; questo tende a verificarsi di tanto in tanto (e non viene mostrato nel registro!)
  4. Controllo se si tratta di un errore di convalida includendo un modulo p:message nel modulo e lo visualizza.

Per me, il controllo degli errori è un flusso di lavoro in 4 fasi. C'è un modo migliore per farlo? Idealmente, sarebbe bello se tutti questi errori potessero essere registrati in un singolo registro. Questo fai da te o esiste un modo standard per farlo?

Grazie!

+1

JSF/primefaces inghiotte anzi eccezioni richieste Ajax. Solo Mojarra mostra un avviso nudo quando la fase del progetto è impostata su 'Sviluppo'. PrimeFaces lo ignora del tutto.Tuttavia, è possibile utilizzare un gestore di eccezioni per visualizzare la pagina di errore predefinita nella sua interezza. Vedi anche [gestore di eccezioni ajax completo] (http://balusc.blogspot.com/2012/03/full-ajax-exception-handler.html). – BalusC

risposta

3

Non c'è niente di originale che possa darti quello che descrivi perché queste sono tutte situazioni che si verificano su diversi livelli.

  1. Ciò è dovuto al fatto che un'eccezione non gestita ha raggiunto la pila di chiamate. Se si migliora il codice per la gestione delle eccezioni, queste circostanze dovrebbero essere catturate e registrate.

  2. La gestione e la registrazione delle eccezioni migliorate in tutti i livelli dell'applicazione consentono di acquisire tutti gli errori e le eccezioni in un singolo file di registro sul server delle applicazioni.

  3. Firebug rileva gli errori di rete nei postback asincroni e le eccezioni JavaScript. Questo è completamente un problema lato client in quanto il server ottiene solo il markup. Potrebbe essere possibile catturare tutte le eccezioni di Javascript prima che vengano propagate a Firebug e inviare un rapporto di errore asincrono al server per il log del server. Questo non dovrebbe essere troppo difficile da implementare.

  4. Ancora una volta, una migliore registrazione dei metodi di convalida sarà in grado di inserire queste informazioni nei registri del server delle applicazioni in modo da avere tutte queste informazioni in un'unica posizione.

La linea di fondo è che queste sono tutte le situazioni in cui diventano un non-problema per gli sviluppatori che imparano a intuitivamente includere buon codice Strumentazione per tutta la loro applicazioni.

1

Ciao sto anche sviluppando un'applicazione utilizzando jsf e primefgaces. Ho anche affrontato questo problema prima. Ora sto usando log4j per registrare tutti gli errori/eccezioni/dubbi in un singolo file. È anche molto facile da usare. Puoi dare un'occhiata, potrebbe risolvere i tuoi problemi.

Problemi correlati