Antonio Scatoloni     About     Archive     Tags     Feed

Effettuare Logging in .NET con Apache log4net

Per un'applicazione molto semplice sviluppata in .NET dovevo eseguire il log di tutto quello che l'Applicazione eseguiva, permettendone il controllo. Dopo aver provato a creare dei log fatti "a mano" mi sono ricordato della librearia di logging sviluppata da Apache e l'ho inserita nel mio progetto, metteno infatti a disposizione una pratica dll da incorporare. L'utilizzo è molto semplice (ma presenta notevoli opzioni e possibilità di effettuare il logging in vari modi) basta infatti inserire il markup dell'assembly in questo modo:

[assembly: log4net.Config.XmlConfigurator(Watch=true)]

e configurare il codice in modo da creare un reference al Log(un possibile esempio):

   public class Log    {       public readonly ILog logger;


      public Log() {

          logger = LogManager.GetLogger
           (System.Reflection.MethodBase.GetCurrentMethod()
            .DeclaringType);


           logger.Info("Logger inizializzato");}} 

Utilizzando la Reflection si crea inoltre un codice portabile in ogni applicazione, basta infatti creare questa Classe ed accedere all'oggetto logger per poter generare dei messaggi di log:

logger.Warn("Eccezione")

Un'altra fase fondamentale del logging tramite log4Net è la configurazione dell mezzo su cui loggare, il metodo più semplice è l'Output a Console ma di maggiore utilità è l'Output su file di Testo. Vediamo come:

Il modo più semplice è quello di utilizzare il file di Configurazione presente nella propria Applicazione nel caso di Applicazioni Windows basta aggiungere al file App.Config questo codice all'interno della sezione <configuration></configuration>:

   <configSections>
      <section name="log4net"
      type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
 <log4net>
    <appender name="RollingFile"
       type="log4net.Appender.RollingFileAppender">

      <file value="C:\Log\App.log" />
      <appendToFile value="true" />
      <maximumFileSize value="1KB" />
      <datePattern value="yyyyMMdd-HHmm" />
      <maxSizeRollBackups value="2" />
     <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date %level %logger - %message%newline" />
      </layout>
    </appender>    <root>
     <level value="ALL" />
   <appender-ref ref="RollingFile" />
   </root>
 </log4net>

Con questa configurazione si ha quindi un log su file di Testo, che non appena il file supera la dimensione scelta in maximumfileSize ne crea un'altro, evitando di creare file di log di dimensioni enormi. Questa è solo una delle possibili configurazioni della libreria Apache log4net, maggiori informazioni e dettagli possono essere reperite qui.

Maggiori Dettagli

Buon Log a Tutti :-)

Acquistare un dominio personale

E' un po di tempo che mi frulla in testa l'idea di acquistare uno spazio tutto mio, un sito web del tipo antonioscatoloni e così mi la scorsa settimana mi sono deciso ed ho acquistato un dominio su aruba, ma stupidamente non ho acquistato lo spazio web perchè il tutto considerando anche un database per caricare il blog, veniva a costarmi circa 40€ inoltre perchè confidavo di poter effettuare un domain mapping direttamente da questo spazio wordpress, ora invece ho scoperto che questo servizio è a pagamento su wordpress e quindi non ho convenienza nel farlo. L'unica soluzione che ho trovato al mio problema di hosting è quella di acquistare un dominio + spazio (comprensivo di databse) tramite TopHost al prezzo di 8.99 + iva davvero un buon prezzo e di chiedere ad aruba il trasferimento del mio dominio verso questo Registrar.A presto speriamo sul nuovo Host :-)

Cambio Tema al Blog!!!

Mi scuso con tutti per questo ulteriore cambio tema, ma ritengo che il vecchio tema Regulus era elegante ma poco leggibile. Spero che il nuovo tema sia gradito a tutti :-)

GoogleDocs under Attack!!!

E' stata in questi giorni messa in evidenza una falla nei sistemi del gigante del Web. Il sistema concettualmente molto semplice permette al malintenzionato di accedere ai Documenti di un utente che sono stati creati, tramite i servizi offerti dal multifunzionale motore di ricerca. Il servizio di Google permette infatti di inviare tramite email i documenti creati ed è proprio in questa procedura che viene eseguito l'Hack. Il servizio Web infatti genera per ciascun documento una request di tipo GET dove viene inserito un codice DocID seguito da un codice numerico che rappresenta il documento, modificando opportunamente il codice numerico si possono ricevere via email documenti appartenenti ad altri utenti, il sistema inafatti non verifica più la stringa della richiesta.

Tutta la procedura qui.

Powered by ScribeFire.