Serilog Раковина памяти - PullRequest
       14

Serilog Раковина памяти

0 голосов
/ 07 февраля 2019

Есть ли приемник Serilog, который просто пишет в буфер в памяти?Я имею в виду приемник, который будет хранить X-строки, а затем я смогу получить доступ к этим X-линиям и показать их на веб-странице через контроллер API.Это было бы больше для просмотра недавних ошибок, которые произошли в приложении.

Я посмотрел на странице приемника GitHub (https://github.com/serilog/serilog/wiki/Provided-Sinks), но не увидел ни одной и просто подумал, что-то упущено.

1 Ответ

0 голосов
/ 07 февраля 2019

Serilog не имеет встроенного Sink, который пишет в память, но вы можете легко написать один только для этого.Посмотрите, например, на DelegatingSink, который используется в модульных тестах Serilog, что составляет 80% от того, что вам нужно ... Вам просто нужносохранить события в структуре данных в памяти.

Другой вариант - использовать приемник mssqlserver, записать события в простую таблицу иотображается в вашем веб-приложении.

Третий вариант (который я бы рекомендовал) заключается в простой установке Seq , который является бесплатным для разработки и для одного пользователя.развертывания, и просто запишите логи в Seq через их приемник .Это избавит вас от необходимости писать веб-приложение и обеспечит вам поиск и фильтрацию "из коробки".

Seq

...