Идея ограничить возможность логировать объекты выглядит неплохо, но не везде применима: вспомним хотя бы protobuf или avro. И реализация интерфейса ILoggable все равно приводит нас к методу, который будет возвращать строковое представление объекта.
Распространенные примеры использования стартеров — логирование, кэширование, сбор метрик, различные интерцепторы, а также компоненты, связанные с обеспечением безопасности. Конкретика зависит от проекта. Но, научившись писать стартер, вы можете создавать их под свои нужды, интегрировать их в стек технологий, который используется на вашем проекте.
Давайте попробуем разобраться, что именно происходит. Напишите ваши вопросы личным сообщением, постараюсь вам помочь.
Если использовать в виде поля класса объект другого класса: например:
public class User {
//...
@Confidentially
private Address address;
}
то в консоли будет выведено
null
Еще один подход к обработке логируемой строки, в том числе входящего JSON, в использовании PatternLayout.
Идея ограничить возможность логировать объекты выглядит неплохо, но не везде применима: вспомним хотя бы protobuf или avro. И реализация интерфейса ILoggable все равно приводит нас к методу, который будет возвращать строковое представление объекта.
Распространенные примеры использования стартеров — логирование, кэширование, сбор метрик, различные интерцепторы, а также компоненты, связанные с обеспечением безопасности. Конкретика зависит от проекта. Но, научившись писать стартер, вы можете создавать их под свои нужды, интегрировать их в стек технологий, который используется на вашем проекте.