Существует проект, в котором реализовано подключение плагинов, вопрос заключается в том, как правильнее всего получать логи из DLL, чтобы знать об ошибках, которые могу возникать при исполнении плагина? Как вообще лучше всего реализовать систему сбора логов в программе? Первая мысль была - создать динамический массив, объявить его в Program.cs, чтобы к нему был доступ у всех типов сборки и добавлять в него строки, а в плагин передавать ссылку на этот массив, чтобы туда тоже записывались логи. Но правильный ли это подход? Подскажите пожалуйста, поделитесь опытом.
правильнее так, как вам удобно, куда пишете логи?:
- текстовые файлы?
- журналы событий винды?
- .. или это серверное приложение, есть система сбора логов?..(хотя тогда вряд ли был бы такой вопрос)
простейший вариант - текстовый файл обычно. тогда достаточно соглашения о формате логов (структура сообщения) и указания папки, куда складывать
плагины могут вести собственные логи - ни чего плохого в этом нет. сразу понятно кто упал. и это просто (а простота вообще важное качество в программировании)
но как только вы создаете для логов особый инструмент, не забывайте, что упасть может сам инструмент. тогда вы вообще не получите логов