Иконка ресурса

Удобный логгер 1.0

Нет прав для скачивания

GoogleTan

Картошка :3
1,354
43
310
GoogleTan добавил(а) новый ресурс:

Удобный логгер - Удобный логгер с указанием места вызова к воде.

Это удобный логгер, выводящий сообщение/эксепшен в удобном формате, указывая место логгирования. Скоро добавлю версию на java.
Java:
import org.apache.logging.log4j.LogManager
import org.apache.logging.log4j.Logger

object LogManager
{
    val LOGGER : Logger = LogManager.getLogger()!!

    @JvmStatic
    fun errorObjects(vararg objects : Any)
    {
        var message = ""
        for (i in objects)
            message += " $i"
        val e = Exception()
        val from =...

Узнать больше об этом ресурсе...
 

GoogleTan

Картошка :3
1,354
43
310
Я почти уверена что он делает +- тоже самое, а тут очевидно как и что работает. Да и разбираться в чужой либо не самое приятное.
 

tox1cozZ

aka Agravaine
8,454
598
2,890
Да и разбираться в чужой либо не самое приятное.
Поэтому напишем свой велосипед, который ещё и работает медленно 🤙

А для чего это может понадобиться? Разве что в среде при дебаге. Главное в продакшн чтобы такое не попадало. Тогда ладно, может иногда быть полезным.
 

tox1cozZ

aka Agravaine
8,454
598
2,890
Не знаю даже какую информационную нагрузку несёт номер строки. По строке лога не составит сложности найти номер строки в классе где этот лог напечатался.
Ладно, это каждый для себя решает)
 

GoogleTan

Картошка :3
1,354
43
310
Там не строка, а класс вызова(но строку сделать не сложно). При дебаге вывелось тебе семь 0, потом думай какой откуда, добавляй какие-то метки... А так просто вывел - даже особо думать не надо.
 
7,099
324
1,509
А эксепшены в джаве дорогие в том числе из-за стактрейса?
 
7,099
324
1,509
Хм, а почему стактрейс не сделают лениво-инициализируемым? Он ведь нужен в основном только для непредусмотренных исключений
 

deleted.user

Мошенник
321
43
ez
logger-w-stacktrace:
public static void out(Object var0) {
      StackTraceElement[] var1 = Thread.currentThread().getStackTrace();

      try {
         LogManager.getLogger().info("[Modname or etc] " + var1[2].getFileName() + "|" + var1[2].getMethodName() + " (" + var1[2].getLineNumber() + ") : " + var0);
      } catch (Exception var3) {
         var3.printStackTrace();
      }

   }
 
7,099
324
1,509
А это, типо, быстрее? Почему?
 

GoogleTan

Картошка :3
1,354
43
310
Наверное потому что не создается отбъект эксепшена.
 
7,099
324
1,509
Так жирность эксепшена в стактрейсе, тут тоже фулл стактрейс получается
 
7,099
324
1,509
Такой уже есть) На его основе сделан этот логгер
 
Сверху