Libreria autonoma per la registrazione degli errori?

1

Sfondo

Ecco come registro attualmente eventuali eccezioni che si verificano nel mio codice:

  1. Passa ad ogni istanza di oggetto il percorso di un file in cui voglio che tutto il log avvenga.
  2. Ciascuno degli oggetti ha il proprio codice di registrazione delle eccezioni, che viene chiamato in una dichiarazione finale.

Uno svantaggio che potrei vedere su questo, sarebbe che se dovessi apportare una modifica al modo in cui viene eseguita la registrazione. Nel caso in cui avessi bisogno di cambiare qualcosa con la registrazione, non avrebbe avuto luogo in tutti gli oggetti.

D'altra parte, ora non è che ogni singola delle mie librerie dipenda da qualche libreria error-logging solo per compilare.

Domanda

Sto andando su questo nel modo sbagliato? Si suppone che tutto il log degli errori sia nella sua libreria?

    
posta Snoop 04.05.2016 - 14:09
fonte

1 risposta

2

Non vuoi astrarre questa funzionalità? per esempio. potresti voler accedere a un file, a un socket di rete, a uno stdout, ecc. Non credo che le tue classi dovrebbero sapere sui file ecc. ma su un logger astratto, e puoi decidere in seguito come funzionerà .

Questo è un requisito molto comune e troverai già le librerie per farlo, ad es. log4net . Queste librerie sono tipicamente guidate dalla configurazione e normalmente si istanzia un logger tramite un metodo factory statico o simile. Le tue classi conosceranno una classe logger , ma al di là di questo non riguarderanno normalmente dove o come stanno effettivamente eseguendo la registrazione.

    
risposta data 04.05.2016 - 14:27
fonte

Leggi altre domande sui tag