2015-08-28 4 views
1

Есть ли способ настроить почтовый ящик Serilog, чтобы включить дополнительные свойства в тело электронной почты?Входные данные для почтовой маркировки Serilog

Я могу видеть формат по умолчанию:

{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] {Message}{NewLine}{Exception} 

Но я не уверен, если есть дополнительный маркер, который может быть использован или способ в коде легко переопределить это поведение.

ответ

0

Чтобы включить определенные дополнительные свойства, которые можно пройти outputTemplate методы конфигурации:

.WriteTo.Email(..., outputTemplate: "Machine: {MachineName}") 

Существует нет «маски» для вывода всех свойства.

+0

Спасибо, что я не буду знать имена раньше времени. Заглядывая в исходный код, похоже, мне нужно было бы установить альтернативный ITextFormatter в MessageTemplateTextFormatter по умолчанию, но поскольку тип EmailSink не является общедоступным, я не могу этого сделать без редактирования и пересоздания самого почтового ящика. – chrisb

+0

Я думаю, что если тип EmailSink был обнародован, это было бы намного более прямым. – chrisb

+0

Будет ли это работать, даже если свойства не существуют для конкретного журнала, например, если я занимаюсь обработкой исключений внутри LogContext с указанным свойством, а также за пределами LogContext без свойства? – ThePower