В C++ нет стандартного инструмента ведения журнала де-факто. По моему опыту, магазины сворачивают свои собственные. Это создает некоторую проблему, однако, при попытке создания повторно используемых компонентов программного обеспечения. Если все в вашей системе зависит от компонента протоколирования, это делает программное обеспечение менее многоразовым, в основном заставляя любые нисходящие проекты использовать вашу систему ведения журнала вместе с компонентами, которые они действительно хотят.Среда разработки протоколов C++ жертвует повторным использованием?
IOC (инъекция зависимостей) на самом деле не помогает с проблемой, так как ваши компоненты должны будут зависеть от абзаца регистрации. Компоненты протоколирования могут добавлять зависимости от ввода-вывода файлов, механизмов запуска и других возможных нежелательных зависимостей.
Добавляет ли зависимость от вашей собственной системы ведения журнала жертву за повторное использование компонента?
+1, я в этой конкретной ситуации сам, основная реализация моего проекта имеет абстрактную структуру ведения журнала, которая регистрирует дополнительную информацию, которую я хочу ... Но она использует библиотеки, которые также имеют (другую) структуру ведения журнала, но, к счастью, , они также ожидают, что объект, инкапсулирующий фрейм, будет передан ... Итак, я создаю объект, реализую его с точки зрения моей нынешней структуры ведения журнала, и прочь я иду! – Arafangion 2010-12-03 12:55:06