Aug. 29th, 2011

juan_gandhi: (Default)
Ну типа ко мне в прошлой конторе приставали, если не сказать приябывались, чтобы я писал не в одну строчку log.debug(blablabla), a
if (log.isDebugEnabled()) {
  log.debug(blablabla);
}


а я не ценю этот момент, чтобы платили от количества строчек; ну не Маяковский.

Короче, на стаковерфлоу надыбал такой прикол:

log.debug(format("Lookie, %d artefacts: %s", map.size(), map));


where

  public static format(final String format, final Object ... artefacts) {
    return new Object() {
      @Override public String toString() {
        return String.format(format, artefacts);
      }
    }
  }


Ну! Правда, мило?

Questions?

П.С.

Разъясниния.

В log4j и slf4j есть форматтер, но он берёт не больше двух параметров.
То, что я там map.size() засандалил, несущественно. Главная работа состояла бы с стрингификации map.
Тот факт, что isDebugEnabled() является методом, а не константой, важен: этот флаг зависит от конфигурации в log4j.xml.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

September 2025

S M T W T F S
 1 2345 6
78 9 10 111213
14151617181920
21222324252627
282930    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 11th, 2025 03:44 pm
Powered by Dreamwidth Studios