2015-01-22 2 views
6

RollingFile.outputTemplate, что я использую для моей раковине в <appSettings> конфигурации, как показано ниже:Как вывести источник события Имя класса в serilog RollingFile outputTemplate?

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

Бревно выход я получаю как:

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

Однако, я хочу также выводить Имя класса (источник), из которого был создан журнал, например -

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

Что нужно добавить к значению? Я добавил [Источник], но не работает.

значение = "[? Source] {Отметка: HH:: мм сс} [{Уровень}] {сообщение} {NewLine} {Исключение}"

ответ

11

Имя свойства называется SourceContext - так:

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

Я добавил '[{SourceContext}]' свойство, но он порождает ан пустой кронштейну как - '14:53:41 [информация] [] Application_Start ...'. Что не так ? Есть идеи? –

+2

Вам нужно использовать 'log.ForContext ()', чтобы сгенерировать свойство в первую очередь, оно не подключено автоматически –

+0

Что делать, если вы хотите создать собственное имя? Было непонятно [из источника] (http://sourcebrowser.io/Browse/serilog/serilog/src/Serilog.FullNetFx/Sinks/RollingFile/RollingFileSink.cs) – drzaus

Смежные вопросы