Как один из вариантов, имеющий прикладную ценность:
Абстрактный класс errors_Logger, его реализация - errors_Logger_File
Первый реализует api приёма сообщений, решает, надо ли его логировать. Если надо - вызывает абстрактный (но реализованный в errors_Logger_File) метод save. А уже его реализация в errors_Logger_File сохраняет сообщение.
|