А «нижний» уровень ведения журнала включает в себя все «высокие» уровни:
ERROR > WARN > INFO > DEBUG
highest ------------ lowest
Это означает, например, что, когда вы установите уровень отлаживать, вы также получите INFO, WARN и сообщения об ошибках; если вы установите его в INFO, вы увидите, ERROR, WARN и INFO, но не сообщения DEBUG и т.д.
Посмотрите на эти строки:
if (log.isDebugEnabled())
log.info("many");
Смущает здесь является то, что вы проверить, если DEBUG (с isDebugEnabled
), но вы фактически регистрируетесь на уровне INFO.
Итак, что здесь происходит, если уровень установлен в:
- DEBUG: Вы увидите сообщение, потому что DEBUG включает в себя сообщения INFO.
- INFO: вы будете не см. Сообщение, потому что
isDebugEnabled
возвращает false
, когда уровень установлен на что-либо выше DEBUG. Это означает, что оператор внутри if
не выполнен, и сообщение не отображается.
Сбивает с толку читателя, используя предназначенные для этого отступающие отступы? –
, как это противоречит интуиции. В Second, если условие также насыщено. Но log.info не печатает на консоли. – Mdhar9e
Возможно, потому, что уровень ведения журнала установлен на 'INFO', так что' isDebugEnabled' возвращает 'false'? – Jesper