Ok, quindi sto guardando NLog. In base all'utilizzo, la mia applicazione sarebbe legata al framework di registrazione. Come posso superare questo?Il mio framework di registrazione è legato alla mia applicazione per sempre!
Inoltre, quando si utilizza NLog, devo scrivere troppo monkey-code
per ogni classe su cui sto utilizzando questo framework. È una buona pratica creare una classe statica e accedervi da qualsiasi punto della mia applicazione?
esempio:
//the monkey code
private static Logger logger = LogManager.GetCurrentClassLogger();
//the coupling.
logger.Log(/*...*/);
Hai perso l'interfaccia nella dichiarazione della classe. Inoltre sarebbe meglio che 'MyOwnLogger' accettasse l'istanza' logger' come parametro costruttore - cioè come funziona DI. – zerkms
Non mi importa LogManager.GetCurrentClassLogger ha senso qui: verrà creato per MyOwnLogger ma non per il posto reale in cui è stato chiamato il logging – SiberianGuy
@zerkms: Grazie. Ho aggiunto l'interfaccia. La classe 'NLogLogger' è l'implementazione di IMyOwnLogger che utilizza NLog, quindi non deve prendere il logger nel costruttore. – LukLed