Esiste un layout / formatter Log4J che elimina le tracce dello stack per eccezioni?

StackOverflow https://stackoverflow.com/questions/837320

  •  10-07-2019
  •  | 
  •  

Domanda

Sto cercando un layout / formatter Log4J che mi aiuti a eliminare le tracce dello stack in eccezioni un po 'meglio delle impostazioni predefinite. Che l'esecuzione dello stack sia da qualche parte al di sotto di main () è abbastanza ovvio e non necessario per me da sapere, e che l'eccezione si è verificata profondamente in un'altra libreria non è proprio nulla di cui posso fare troppo.

Quello che vorrei è un layout che ritaglia lo stack-trace, diciamo le ultime 5 chiamate di metodo del metodo all'interno del mio codice, identificato dal contenuto di jar-file, pacchetto o qualcos'altro.

C'è qualcosa in questo senso o devo scrivere un po 'di magia da solo?

È stato utile?

Soluzione

Ho provato anche a cercarlo, ma non ho trovato nulla di soddisfacente, quindi ho scritto un ThrowableRenderer personalizzato che elimina i frame di stack estranei. Ho aperto il codice da utilizzare per gli altri. Dai un'occhiata al mio post sul blog ; puoi trovare un link al codice lì.

Altri suggerimenti

Ho fatto una domanda simile (circa sopprimendo completamente la traccia dello stack qualche tempo fa.

Sfortunatamente, non esiste alcuna impostazione per questo, è necessario sottoclassare PatternLayout per farlo.

Il " ex " o "eccezione" la parola di conversione in logback-classic (successore di log4j) supporta la stampa del numero specificato di righe di traccia dello stack. L '"ex" la parola di conversione è documentata con il resto delle parole di conversione . Devi scorrere un po 'verso il basso.

Se hai bisogno di ulteriori informazioni su questo argomento, contatta la mailing list dell'utente di logback.

Esistono tre modi per farlo:

  1. Trova una libreria o un codice fatto da qualcun altro
  2. Scrivilo tu stesso (estendi / implementa)
  3. Utilizza il layout predefinito, ma elimina lo stack dell'eccezione prima di passarlo al logger

Puoi scrivere un Appender personalizzato con la logica speciale di cui hai bisogno. Potrebbe essere un buon modo di procedere.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top