Метод
Main#getApi()
выполняется в конструкторе Logger
. Но, согласно stacktrace, текущий логгер создается в методе Main#loadConfig()
(Main. java, строка 46) до фактического инициализации поля api
(Main. java, строка 47).
Обновление: описанная проблема в конструкторе Logger скрывает исходное исключение, выброшенное в блоке try..catch метода loadConfig
. Наиболее вероятной причиной исходной проблемы является доступ к файлу config. json в папке root. Но лучший способ - исправить NPE в классе Logger, чтобы вы увидели трассировку стека исходного исключения.
Также было бы неплохо отделить Logger от вашего бизнес-журнала c.