log4net non funziona

log4net non funziona

Un problema per questo tipo di cose è assicurarsi di aggiungere il XmlConfigurator attribuire all'assembly inserendo la seguente riga nel tuo AssemblyInfo.cs :

[assembly: log4net.Config.XmlConfigurator]

Altrimenti log4net non si attiva mai.


Immagino che log4net non stia registrando affatto o che il file non finisca dove ti aspetti.

Innanzitutto, hai effettivamente chiamato

XmlConfigurator.Configure()

da qualche parte nel tuo codice? Se lo snippet xml sopra è nel file di configurazione dell'applicazione, questa chiamata farà il trucco. Se lo snippet xml è nel proprio file, dovrai usare il .Configure(string) sovraccarico che prende il percorso del file. Senza questa chiamata (o apparentemente l'attributo a livello di assembly menzionato da Kirk Woll), log4net non eseguirà affatto la registrazione.

Se ritieni che tutto sia fatto e log4net dovrebbe essere registrato, allora forse dovresti inserire un percorso completo per il file di registro mentre esegui ulteriormente il debug. Ciò ti consentirà di essere sicuro di dove dovrebbe il file essere.


C'è un altro piccolo trucco, vedi qui:http://logging.apache.org/log4net/release/manual/configuration.html#dot-config

il [assembly: log4net.Config.XmlConfigurator] il metodo non funziona con app.config. Se configuri log4net da app.config, devi usare il log4net.Config.XmlConfigurator.Configure() metodo.