В настоящее время я веду журнал (приложение ведения журнала) в базе данных CouchDB с помощью Serilog, и несколько типов декомпозируются в базу данных.
У меня есть отдельное приложение (приложение для создания отчетов), которое пытается извлечь LogEvents из базы данных и десериализовать их в исходные LogEvents. Приложение отчетов так же осведомлено о тех же типах, что и приложение ведения журнала, и определенные типы в базе данных полностью разложены на него.
У десериализатора Json.Net есть проблемы с десериализацией MessageTemplate. Даже с настраиваемым конвертером у него так много проблем, что я, вероятно, делаю это неправильно (десериализация различных исключений, но никакой реальной закономерности, которую я могу сказать).
Кто-нибудь смог это сделать успешно? У меня создалось впечатление, что возможность извлекать типы из журналов - одна из особенностей Serilog, и все данные там есть, поэтому я не понимаю, почему это невозможно.
Все эти типы также полностью сериализуемы, они регулярно сериализуются / десериализуются Json.net.