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

October 2025

S M T W T F S
    1 23 4
5 678 91011
12131415161718
19202122232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 9th, 2025 11:12 pm
Powered by Dreamwidth Studios