Как сообщить пользователю библиотеки, что возникла проблема во время инициализации? - PullRequest
0 голосов
/ 25 сентября 2019

В настоящее время я работаю над библиотекой, которая пытается определить, применима ли данная оптимизация в текущей JVM или нет (некоторые виртуальные машины не поддерживают эту функцию).Оптимизация может быть отключена системным свойством, но я хочу показать пользователю предупреждение, если путь оптимизации не отключен явно, но оптимизация не работает (например, возникает исключение).Все это делается в блоке static {} - как мне это сделать?

  1. Печать на стандартный вывод кажется плохой, поскольку некоторые пользователи могут не иметь стандартный вывод или не хотят, чтобы он был загрязнен библиотеками.messages
  2. Исключение может привести к аварийному завершению работы виртуальной машины (как всегда в блоке static), что слишком резко, поскольку библиотека может вернуться к более медленному пути
  3. Библиотека не используетсялюбых каркасов (Slf4J и т. д.), и я не хочу добавлять каркас только для этого сообщения.Добавление чего-то вроде каркаса журналирования в библиотеку также всегда является проблемой, поскольку оно наиболее определенно сталкивается с другими библиотеками (например, Spring), использующими разные версии одного и того же каркаса

Есть ли другой подход, который мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...