2015-01-22 22 views
6

Il RollingFile.outputTemplate che sto usando per il mio lavandino in configurazione <appSettings> è come sotto:Come scrivere il nome della classe di origine evento in serilog RollingFile outputTemplate?

<add key="serilog:write-to:RollingFile.outputTemplate" value="{Timestamp:HH:mm:ss} [{Level}] {Message}{NewLine}{Exception}" /> 

Il registro di uscita sto ottenendo come:

19:55:10 [Information] Application_Start...

Tuttavia, voglio anche l'uscita Nome classe (sorgente) da dove il registro è stato generato, come -

19:55:10 [Information] [Global.asax.cs] Application_Start...

Cosa devo aggiungere al "valore"? Ho aggiunto [origine] ma non funziona.

value = "[? Source] {timestamp: HH: mm ss} [{Livello}] {Messaggio} {NewLine} {Eccezione}"

risposta

11

Il nome della proprietà è chiamata SourceContext - così:

value="{Timestamp:HH:mm:ss} [{Level}] [{SourceContext}] {Message}{NewLine}{Exception}" 
+0

ho aggiunto '[{} SourceContext]' proprietà, ma sta generando en staffa vuota come - '14:53:41 [Informazioni] [] Application_Start ...'. Cosa c'è che non va ? qualche idea? –

+2

È necessario utilizzare 'log.ForContext ()' per generare la proprietà, in primo luogo, non è collegato automaticamente –

+0

Che cosa succede se si desidera un nome personalizzato? Non era chiaro [dalla fonte] (http://sourcebrowser.io/Browse/serilog/serilog/src/Serilog.FullNetFx/Sinks/RollingFile/RollingFileSink.cs) – drzaus