How to output event source Class Name in serilog RollingFile outputTemplate?

Ajay Jadhav picture Ajay Jadhav · Jan 22, 2015 · Viewed 9k times · Source

The RollingFile.outputTemplate that I am using for my sink in <appSettings> configuration is as below:

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

The output log I am getting as:

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

However, I want to also output the Class Name (source) from where the Log was generated, like -

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

What should I add to the "value"? I added [Source] but is not working.

value="{Timestamp:HH:mm:ss} [{Level}] [Source?] {Message}{NewLine}{Exception}"

Answer

Nicholas Blumhardt picture Nicholas Blumhardt · Jan 26, 2015

The property name is called SourceContext - so:

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