-2 голоса
 
141 просмотр
17.12.2019 / 23:42  Death

Логирование в джава

Есть ли библиотека для логирования типа:
  1. Logger log = new Logger("&time (&method): &level &text") ;
И после
  1. log.info(text);
И на выход получу 23:54 (main): INFO myText
Вывод можно указать так log.addOut(new OutStream());
17.12.2019 / 23:42  Death
Похожее что-то, чтобы без файлов конфигурации
Ответы
 
3 голоса
 
# 19.12.2019 / 13:16  Askalite
Не понимаю, что тебе мешает самому переопределить уже существующее логирование?

  1. public class Logger2 extends Logger {
  2. //...
  3.  
  4.     @Override
  5.     public Logger info(String text){
  6.     StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
  7.     super.info(getTime()+" ("+stackTrace[2].getMethodName()+"): INFO "+text);
  8.     }
  9. }
Изм. Askalite от 19.12.2019 / 13:16
19.12.2019 / 19:32  Витаминыч
Он не только не тупой, но еще и не такой простой :ded: Это слишком просто, нужна библиотека
 
2 голоса
 
# 18.12.2019 / 11:47  Ginosaji
Чтобы так - нет, а в log4j можно разные паттерны задавать в конфигурации. Есть там и время, и метод, и уровень, и сообщение, как в твоём примере (секция Pattern Layout и табличка с conversion pattern) https://logging.apache.org/log4j/2.x/manual/layouts.html
18.12.2019 / 16:08  Death
Я не совсем тупой, про это я знаю, я про многие основные либы про логи знаю, что они существуют, но то что мне надо - нет
 
1 голос
 
# 18.12.2019 / 01:52  RblSb
Нет, потому что ты не передаешь переменные аргументами, а интерполяции строк в джаве нет.
Используй String.format:
https://dzone.com/articles/java-string-format-examples
Всего: 3

Реклама

Мы в соцсетях

vk tw tg yt