2015-03-04 11 views
11

Stavo leggendo il blog di Scott Gu su ASP.NET 5.0 features e una delle nuove funzionalità menzionate nel blog è usare il file json come configurazione ed eliminazione di File Web.config.come aggiungere la configurazione per log4net (o qualsiasi altra libreria di terze parti) in ASP.NET 5.0

Ho alcune domande su questa funzione.

Si supponga che ho seguente configurazione log4net che è stato in precedenza aggiunto al Web.Config nella precedente versione di ASP.NET

file di

Config

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 

<log4net debug="true"> 
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value="C:\\TestProj\\TestLog.txt" /> 
    <appendToFile value="true" /> 
    <rollingStyle value="Size" /> 
    <maxSizeRollBackups value="10" /> 
    <maximumFileSize value="10MB" /> 
    <staticLogFileName value="true" /> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" /> 
    </layout> 
</appender> 

<root> 
    <level value="DEBUG" /> 
    <appender-ref ref="RollingLogFileAppender" /> 
</root> 
</log4net> 

Come si potrebbe aggiungere sezioni in config.json?

Come si converte sopra xml e lo si aggiunge a config.json?

La libreria di terze parti (nel mio esempio log4net) o gli utenti della libreria devono aggiungere un tipo di API di conversione personalizzata per supportare la configurazione basata su json, al fine di sfruttare la nuova funzionalità di configurazione fornita in ASP.NET 5.0?

risposta

0

Le versioni correnti di log4net non supportano i progetti Json, quindi la configurazione deve essere in un file xml separato.

+0

Sarebbe in grado di fornire un esempio di dove deve essere posizionato quel file, quale dovrebbe essere chiamato, cosa dovrebbe contenere e come può essere aggiunto al sistema di configurazione (nel file Startup.cs)? –

10

Recentemente ho avuto lo stesso problema con log4net. Sono riuscito a farlo lavorare come segue:

Creare log4net.xml file che contiene la sezione di configurazione per log4net

<?xml version="1.0" encoding="utf-8" ?> 
<log4net> 
... 
</log4net> 

È possibile inserire il file nella cartella principale del progetto.

E nel metodo Startup.Startup() è possibile configurare il log4net fornire al XML come configurazione:

public Startup(IApplicationEnvironment appEnv) 
{ 
    // ... 

    XmlConfigurator.Configure(new FileInfo(Path.Combine(appEnv.ApplicationBasePath, "log4net.xml"))); 
} 

Spero che questo aiuta.