В настоящее время я работаю над относительно крупным проектом в Котлине. Я хотел бы реализовать метод ведения журналов, однако по многим причинам (в частности, потому что мне нужен очень специфический тип управления часами и широкий набор приложений, которые будут непросто реализовать в других средах), я не могу использовать типичные средства ведения журналов, такие как Log4J.
Я хотел бы - если это возможно - иметь возможность регистрировать все классы без явной передачи им объекта Logger. Мне нравится схема журналирования, которую предоставляет Kotlin-logging (с использованием объекта-компаньона), но она использует существующие фреймворки, что запрещено.
В некотором смысле, мне нужен какой-то способ определения глобального регистратора. Любые рекомендации? Синглтоны и сопутствующие объекты, вероятно, являются частью решения, но я действительно не понимаю, как создать что-то удобное.
Примечание. Мне нужен один из приложений для записи в ZMQ, поэтому я бы предпочел не создавать экземпляры нескольких регистраторов.