Logging

rated by 0 users
This post has 3 Replies | 3 Followers

Top 10 Partecipanti
Maschio
Post 269
Punteggio 4.927
petrux Posted: 11-22-2011 10.59

Ciao ragazzi,

 

sto lavorando a una applicazione desktop realizzata in WPF. L'applicazione è molto semplice tanto che (volendo fare un po' di accademia), non esiste ServiceLayer ma il PresentationLayer consuma il BusinessLayer. La domanda è: dove li metto i log? Chi ci ha lavorato prima di me li ha messi a livello di ViewModel (presentation layer). E' una scelta corretta in uno scenario simile (i.e. senza ServiceLayer)?


Ciao,

petrux

-- 

Top 10 Partecipanti
Maschio
Post 249
Punteggio 3.458

Solitamente usando Castle e Log4Net io ho la Log4Net facility, la quale per ogni entità che dichiara un ILogger lo popola con il logger giusto. Quindi io ho i log lato client nei ViewModel, e quelli lato server nel servizio, più un appender custom di log4net che permette di ivniare i log del client al server tramite un management service.msc.

In questo modo vivo abbastanza felice :)

alk.

  • | Punteggio Post: 5
Top 10 Partecipanti
Post 28
Punteggio 455

Siccome la tua applicazione non e' complessa io non aggiungerei ulteriori layers. 
Nel mio caso noi abbiamo un servizio ILogger che viene poi mappato su Log4Net. Perche' Log4Net? Perche' e' completo e super configurabile e basta crearti il tuo specifico writer.

Noi abbiamo un layer a parte, statico che va bootstrappato da qualche parte con pattern singleton. Da li logghiamo tutto e adesso stiamo considerando la capacita' di PostSharp che ti consente di marcare un metodo come "loggable" ed evitarti un noioso try/catch.

 

  • | Punteggio Post: 20
Top 10 Partecipanti
Maschio
Post 249
Punteggio 3.458

Concordo, se l'applicativo è semplice, postsharp è la soluzione migliore, perchè ti permette di agire a livello trasversale. La cosa da evitare come la peste è andare tipo in ogni metodo e mettere il trycatch con il log etc etc, ma centralizzare comunque queste operazioni in un unico punto, quindi AOP fatta con una libreria come Castle o ancora più semplice un bel PostSharp come dice Raffaeu e vivi felice.

Alk.

  • | Punteggio Post: 5
Pagina 1 di 1 (4 elementi) | RSS
Powered by Community Server (Commercial Edition), by Telligent Systems