Привет!
SecureFileLogWriter и SecureConsoleLogWriter ведут себя идентично. Используй в этой задаче не наследование, а паттерн декоратор. В этом паттерне не используются наследники, но используются интерфейсы
ConsoleAndFileOnFridayLogger - слишком конкретное название. Принимай коллекцию логгеров
Моё решение (правильное):
Изменил код, убрал всё наследование заменил на интерфейсы
https://gist.github.com/NoNameDeleted/537bd7db81848c22e8cd528a82866fa8
Ответ на него:
Пустые конструкторы можно не оставлять
Если вкратце под резюмировать это задании, то оно было про интерфейсы. Суть интерфейсов в том что они позволяют дополнить функционал какого то класса не используя наследование. Вобщем то, что называется композиция и паттерн "декоратор"