Я хотел бы добавить журнал в свое приложение. Я выбрал библиотеку журналирования, но я хотел бы иметь возможность переключиться на другую библиотеку без необходимости изменять какой-либо код, который использует ведение журнала.
Следовательно, мне нужна какая-то оболочка журналирования, которая была бы достаточно гибкой, чтобы использовать практически любую функциональность нижестоящей библиотеки журналов.
Есть предложения по дизайну такой оболочки?
РЕДАКТИРОВАТЬ: одна функция, которую я должен иметь в этой оболочке, - это тегирование компонентов. Я хочу, чтобы в моем классе алгоритма перед строками журнала отображалось «X:», а в моем классе-менеджере - «Y:». Как распространить эти теги на подчиненный журнал и как создать механизм именования тегов компонентов, является одним из основных вопросов дизайна здесь.