Hans Hans
выносить специфический для класса код в сам класс этож какраз по методологии, а сам логер уже подхватывает данное сообшение и сохраняет его куда и как ему нужно
всё так, только придётся писать имплементацию сбора данных об объекте для каждого класса, что не вписывается в критерий "любого объекта" и будет больше похоже на "любого объекта в котором мы сами напишем нужный код", как я написал выше можно написать модуль который будет экстендить любой класс, в случае если есть специфичные данные которые нужно вывести то можно переопределить метод из модуля, даже не переопределить, а просто определить и код из модуля не будет вызываться