Недопустимый аргумент для setLoggerLevel() loggingmxbean

Я получаю исключение «Недопустимый аргумент (плохой уровень)», когда пытаюсь вызвать setLoggerLevel() через jconsole. Метод вызывается успешно, если я задаю уровень как «INFO». все, кроме этого, вызывает исключение.


person kamaraj6990    schedule 04.10.2011    source источник


Ответы (2)


Вы уверены, что передаете действительное имя регистратора? Из java-документа в разделе «Броски»:

IllegalArgumentException — если loggerName не является зарегистрированным регистратором или если levelName не равно null и является недопустимым значением.

Это тот же документ от Sun (Oracle) или IBM.

Кажется, у IBM для этого есть ошибочная реализация, которую я видел в WebSphere 7.0, где она выдает исключение NullPointerException для уровня журнала, хотя, согласно документу java, вам разрешено это делать.

ЕСЛИ у вас есть какой-либо контроль над приложением и вы можете создать новый MBean, вы можете напрямую использовать API ведения журнала и вообще избежать использования LoggingMXBean. Затем вы можете контролировать уровень ведения журнала через jconsole и новый MBean.

person Ken    schedule 25.10.2011

Допустимые уровни, поддерживаемые setLoggerLevel, следующие:

  • ВЫКЛЮЧЕННЫЙ
  • ТЯЖЕЛЫЙ
  • ПРЕДУПРЕЖДЕНИЕ
  • ИНФОРМАЦИЯ
  • КОНФИГУРАЦИЯ
  • ОТЛИЧНО
  • ТОНКИЙ
  • ЛУЧШИЙ
  • ВСЕ

Подробнее см. java.util.logging.Level.

person Templar    schedule 27.02.2020