|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
dakeirasmaytonпропущено... Упорство - это хорошая черта. Я уважаю упорных. Но иногда упорство переходит в твердолобость. Как мы объясним пользователю или кастомеру clash имен классов? Ок, без проблем. Пусть будет Logger Name ( in most cases Class Name). Ок? Да это ОК. Был такой персонаж. Капитан Врунглель. Он говорил - Как вы яхту назовёте - так она и поплывет. Логгер - должен называться логгер. А никак не className. И вообще в современной JDK не стоит завязываться на имя класса. И семантика должна быть как у логгера. А не как у класса. Логгер - важен. Логгер может накрывать группу классов. Имя логгера может браться откуда угодно. Он может быть динамичен. Но он не может быть равен 1:1 с классом. Классы - сущность которой управляет класслоадер. Логгеры - сущность которой управляем мы и бизнес. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2019, 19:52 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
maytondakeirasпропущено... Ок, без проблем. Пусть будет Logger Name ( in most cases Class Name). Ок? Да это ОК. Был такой персонаж. Капитан Врунглель. Он говорил - Как вы яхту назовёте - так она и поплывет. Логгер - должен называться логгер. А никак не className. И вообще в современной JDK не стоит завязываться на имя класса. И семантика должна быть как у логгера. А не как у класса. Логгер - важен. Логгер может накрывать группу классов. Имя логгера может браться откуда угодно. Он может быть динамичен. Но он не может быть равен 1:1 с классом. Классы - сущность которой управляет класслоадер. Логгеры - сущность которой управляем мы и бизнес. Ок, согласен. Спасибо. Чуть позже переименую переменную. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2019, 20:02 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
dakeirasГде я кого-то высокомерно оценивал? Можно пример или цитату мою? А пожалуйста: dakeirasлегкой и простой настройкой (в отличии от невменяемых настроек других логгеров) dakeirasПо какому уровню Log4j? Совершенно не индустриальная библиотека, которая по стечению обстоятельств и отсутствия альтернатив стала популярной. У неё совершенно упоротая концепция иерархических логгеров - абсолютно не удобная привязка к уровню логирования. Непонятно почему нельзя было изначально сделать её нормально. Достаточно? dakeirasВ данном случае (как и в нескольких других в этой теме от других комментаторов) вы переходите на личности, зачем-то подразумеваете мою тупость и пр. Вы сами первый начали. Вообще начать тему с заявления "20 лет все фигнёй занимались а я тут пришёл и сделал намного лучше" - это подставится под сильную критику. dakeirasавторТо ли что не понимает, что документацию пишуют чтобы читать, а не чтобы высокомерно отвергать. Не совсем понял, вы про какую документацию? Есть Вики, там довольно детально всё описано. Никто ничего не отвергает. Вам сразу указали на то, что нельзя использовать SimpleDateFormat в многопоточном коде. Что в его документации это явно написано. Но зачем-то Вы упёрлись, что можно, что "я тестировал" (тут Шипёлёв привычно икнул). Ну и вооще- предлагать всем библиотеку логирования, которая тащит с собой несколько мегабайт зависимостей (groovy-runtime) - это странной действо, заставляющее перейти на личность автора. SDK это такая вещь, в которой размер имеет значение. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 07:45 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
Alexey Tomin, +1 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 08:56 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
Alexey Tomin, Вы скачали Бобину? Попробуйте. Удивитесь, насколько всё сделано лучше чем logback. А так Ваша предвзятость обоснована уверенностью, что «всё уже изобретено» и всё новое (особенно от неизвестных авторов) - не нужно. Советую менять настрой. Вот только краткий список проектов в Pipeline: - Портирование BlackBox на GCLIB - автоматическое добавление логирования на этапе компиляции. Реализовано сейчас на Groovy AST и работает только с Груви кодом - Step Up авторизационный сервер и валидация JWT без обращения к БД - при помощи regex, и настройкой доступа на авторизационном сервере (а не на сервере ресурсов) - в универсальной форме - Универсальный CRUD GUI к HATEOAS сервисам на ReactJs Из того что уже сделано: - Pigeon - рассылки и push notifications (SOAP, REST) - BlackBox - уникальный проект по автоматическому добавлению логирования с помощью аннотации (на уровнях от Ошибки с аргументами вызова, Вызова метода, Стейтментов - и до самого НИЖНЕГО уровня - expression). Работает на Груви AST API. - Supplies - разные утилиты мелкие Ну и сама Бобина. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 11:18 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
Ну и вооще- предлагать всем библиотеку логирования, которая тащит с собой несколько мегабайт зависимостей (groovy-runtime) - это странной действо, заставляющее перейти на личность автора. SDK это такая вещь, в которой размер имеет значение. Место на диске чтоли кончится?)) Вы похоже из любителей битовых масок в прикладных приложениях) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 11:25 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
dakeiras, по поводу скачать и попробовать. Я обещаю что когда-нибудь попробую. Но до того как попробовать я обычно пытаюсь понять каково "прендазначение" вещи. Например. Предназначение жопы - чтобы испражняться. Хотя есть некоторые любители странного секса которые хотят погрузить в чью-то жопу свой крайний отросток. И когда например мен на code-review приносят константы завёрнутые в java interface - я просто спрашиваю. Ты что - любишь совокупляться в жопу? Понятно да? Предназначение. Ты должен сообществу объяснить предназначение твоей библиотеки. Про BlackBox можешь даже не рассказывать. Форум не знает что это такое и никому не интересны твои тестерские практики. Плевать на блек бокс. У нас - другие задачи. Далее. По поводу Толстого Бобина. И какую идею закладывал туда автор. Или какую философию. Обычно зрелость продукта определяется этим. Например Log4j2 в режиме Async использует (косвенно) зависимость от библиотеки неблокирующих очередей disruptor. Эта библиотечка буферизирует не дисковый трафик а именно события. Events. Вот такая вот идея. Хотя возможность асинхронной записи в файл тоже поддерживается но это другая настройка. За кадром остался вопрос перформанса. Ты так и не предоставил сообществу никаких бенчмарков. Я по прежнему убёжден что Groovy генерирует самый медленный код (для интенсивных вычислений) и никто меня не убедил в обратном. Грубо говоря в линейке Java/Kotlin/Scala/Groovy, последний занимает последнее место. Груви - медленный покемон в этом списке. И ты выкатил на общий суд тайм-критичную библиотеку взяв за основу самый медленный компиллятор. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 11:45 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
Может вам будет полезен метод U.format(string, .. args) в библиотеке из соседней ветки. 20531307 Хорошего Вам дня! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 12:01 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
dakeirasВы скачали Бобину? Попробуйте. Я вроде уже объяснил причину, почему не буду это делать. dakeirasУдивитесь, насколько всё сделано лучше чем logback. У меня код очень многопоточный, с высоким требованием к производительности. После SimpleDateFormat дальше читать не интересно- если есть столь очевидная бага- зачем искать другие? Конкаренси баги могут стрелять очень редко и ОЧЕНЬ больно. Мне наших баг хватает. logback работает быстро и надёжно. dakeirasА так Ваша предвзятость обоснована уверенностью, что «всё уже изобретено» и всё новое (особенно от неизвестных авторов) - не нужно. Нет. Чтобы изобрести что-то хорошее, надо сначала понять то, что сделали предшественники. Для тестов использовать JMH например. И показывать преимущество в виде конкретных тестов, которые каждый может запустить и получить результат. Показать преимущество настройки в виде примеров, а не просто слов. Ну и груви я только удаляю из кода- мне не нравится базовая идея (заметьте- я не говорю, что она плохая). dakeiras- BlackBox - уникальный проект по автоматическому добавлению логирования с помощью аннотации (на уровнях от Ошибки с аргументами вызова, Вызова метода, Стейтментов - и до самого НИЖНЕГО уровня - expression). Я тут думаю, как очень нужную либу перевести с кодогенерации при компиляции на лямбды- потому что "добавление кода в компиляции"- это добавление проблем в отладке. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 12:28 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
Давайте здесь не обсуждать производительность Груви. Это оффтопик. Можно отдельную тему сделать. Если в кратце - Вы заблуждаетесь, это опять же МИФ, основанный на ОООЧЕНЬ ранних версиях (более 8 лет назад). Ещё раз повторю что используется @CompileStatic во всех классах Бобины, так что он даёт просто обычный Java код. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 13:00 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
Я уже даже приводил пример декомпилированного класса в этой теме, если охота - можно посмотреть и убедиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 13:01 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
авторПосле SimpleDateFormat дальше читать не интересно- если есть столь очевидная бага- зачем искать другие Мой богатый опыт подсказывает что что-то очевидно только при поверхностном ознакомлении. Изначально ВСЕ экземпляры класса Bobbin были в ThreadLocal. Так что не было это микроскопической баги с SimpleDateFormat. Потом дизайн поменяли, и это стало актуально. Уже исправлено. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 13:06 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
авторТы должен сообществу объяснить предназначение твоей библиотеки. Про BlackBox можешь даже не рассказывать. Форум не знает что это такое и никому не интересны твои тестерские практики. Плевать на блек бокс. У нас - другие задачи. Далее. По поводу Толстого Бобина. И какую идею закладывал туда автор. Или какую философию. Обычно зрелость продукта определяется этим. Например Log4j2 в режиме Async использует (косвенно) зависимость от библиотеки неблокирующих очередей disruptor. Эта библиотечка буферизирует не дисковый трафик а именно события. Events. Вот такая вот идея. Хотя возможность асинхронной записи в файл тоже поддерживается но это другая настройка. За кадром остался вопрос перформанса. Ты так и не предоставил сообществу никаких бенчмарков. Я по прежнему убёжден что Groovy генерирует самый медленный код (для интенсивных вычислений) и никто меня не убедил в обратном. Грубо говоря в линейке Java/Kotlin/Scala/Groovy, последний занимает последнее место. Груви - медленный покемон в этом списке. И ты выкатил на общий суд тайм-критичную библиотеку взяв за основу самый медленный компиллятор. Из readme.md: авторBobbin is a high-performance Groovy Slf4j-compatible logger designed for multi-threaded applications (especially those with persistent threads like batch and messaging applications). Bobbin leverages the concept of Logback/Log4j2 sifting appenders while providing much more easier configuration using native Groovy/Java scripting expressions. https://github.com/INFINITE-TECHNOLOGY/BOBBIN Из Вики: авторBobbin creates multiple isolated log files using a simple JSON configuration supporting Groovy Scripts to compute file names and other dynamic parameters during run-time. Some of the File name segregation criteria include: - Thread Name - - Thread Group Name - Class Name - Log level - MDC values - Date - Any other run-time parameters and their combinations Bobbin leverages the concept of Logback/Log4j2 sifting appenders while providing much more easier configuration using native Groovy/Java scripting expressions. Bobbin is high-performance logger optimized to be used in heavy load multi-threaded environments (with hundreds of persistent threads - especially those with persistent threads like batch and messaging applications). It's CPU, GC and RAM footprint has been tuned to work as a primary logger within Spring stack, including Web context and JPA. https://github.com/INFINITE-TECHNOLOGY/BOBBIN/wiki Не хотел этого говорить, но "не читал, но осуждаю"... Насчёт Бенчмарка: будет в течении 3-4 дней: - Однопоточная работа в 1 файл - Однопоточная работа в много файлов - Многопоточная в 1 файл - Многопоточная в много файлов со смешиванием потоков - Многопоточная в много файлов без смешивания потоков (1 поток на файл) авторНу и груви я только удаляю из кода- мне не нравится базовая идея (заметьте- я не говорю, что она плохая). Вот и причина Вашей предвзятости. В своё время лень было изучить - значит "не понравилась идея". Как тут написали, люди 10 лет делали Груви, а тут такой кадр нарисовался - и ему идея не нравится. Зато появился котлин - сразу всем понравилось :) Потому что он продвинут при нечестной конкуренции. И не поддерживает и половины функционала Груви. авторДля тестов использовать JMH например. И показывать преимущество в виде конкретных тестов, которые каждый может запустить и получить результат. Спасибо за инфо, изучу и возможно использую. авторЯ тут думаю, как очень нужную либу перевести с кодогенерации при компиляции на лямбды- потому что "добавление кода в компиляции"- это добавление проблем в отладке. Зато лямбды это легко отлаживать. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 13:17 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
Мы все ждем тестов с @Jmh. Нужно убедительное доказательство перформанса. Иначе - это не интересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 13:18 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
Валентин Колесников, авторМожет вам будет полезен метод U.format(string, .. args) в библиотеке из соседней ветки. 20531307 Хорошего Вам дня! Мощь. Обязательно изучу. Уже сейчас её можно использовать с Бобиной, добавив в билд - и настроив format в Bobbin.json: Код: javascript 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 13:22 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
maytonМы все ждем тестов с @Jmh. Нужно убедительное доказательство перформанса. Иначе - это не интересно. Оки. Скоро будет бенчмарк. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 13:22 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
dakeiras- Многопоточная в 1 файл - Многопоточная в много файлов со смешиванием потоков Этого достатоно. Если интересует скорость, то потоков будет много, а читать десятки файлов логов- так себе занятие. dakeirasавторНу и груви я только удаляю из кода- мне не нравится базовая идея (заметьте- я не говорю, что она плохая). Вот и причина Вашей предвзятости. В своё время лень было изучить - значит "не понравилась идея". Да я писал даже на нём. Работало. Для примитивных проектов типа UI пойдёт. Писать многопоточную математику- ад. dakeirasКак тут написали, люди 10 лет делали Груви, а тут такой кадр нарисовался - и ему идея не нравится. Вы не понимаете разницы между "мне не нравится" и "Совершенно не индустриальная библиотека, которая по стечению обстоятельств и отсутствия альтернатив стала популярной.", "в отличии от невменяемых настроек других логгеров" и свежего перла "продвинут при нечестной конкуренции"? dakeirasЗато появился котлин - сразу всем понравилось :) Потому что он продвинут при нечестной конкуренции. И не поддерживает и половины функционала Груви. Понравился он далеко не всем и не сразу. Кто-то дальше любит scala, кто-то ceylon, кто-то groovy. Каждому своё. А про "нечестную конкуренцию"- вот это интересно- расскажите, пожалуйста. dakeirasавторЯ тут думаю, как очень нужную либу перевести с кодогенерации при компиляции на лямбды- потому что "добавление кода в компиляции"- это добавление проблем в отладке. Зато лямбды это легко отлаживать. Я дебажил и грувивскую "магию", и самописную кодогенерацию и лямбды. Можете верить, можете нет- но лямбды дебажить проще всего. Особенно "прелестно" втыкать в ошибки самописного мавен-плагина. Вот у нас в 5% билдов почему-то падает с безумным стектрейсом- я даже браться за это не хочу... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 13:39 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
авторА про "нечестную конкуренцию"- вот это интересно- расскажите, пожалуйста. Элементарно. Забашляли Гуглу чтобы Идею протолкнуть в Android Studio и далее - забашляли чтобы сделать Котлин офиц. языком для Android. Котлин вообще появился без надобности, нет у него use case. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 13:46 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
я уже молчу, что сама Intellij Idea застряла по функционалу в 2000х. Не могут до сих пор нормальную поддержку Gradle сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 13:50 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
dakeirasавторА про "нечестную конкуренцию"- вот это интересно- расскажите, пожалуйста. Элементарно. Забашляли Гуглу чтобы Идею протолкнуть в Android Studio и далее - забашляли чтобы сделать Котлин офиц. языком для Android. Бред какой. IDEA сдала Android Studio потому что работники гугла пользовуются перешли на IDEA. Вот и всё. У них вообще в разработки порядка особо нет и деньги не сделали бы ничего. Поддержали котлин в андроид потому что решили, что это хорошо для андроид и всё. dakeirasКотлин вообще появился без надобности, нет у него use case. Бреслав прямым текстом говорил, что цели создания котлина (в порядке его приоритетов): - потому что это интересно - у фирмы достаточно денег, чтобы выделить работников для разработки неведомой фигни с нулевой одходностью - они хотели поднять свой статус как фирмы - на java писать надоело и непродуктивно, а scala/groovy не вызывали энтузиазма. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 13:51 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
Сборщиков много. И среда вовсе не обязана поддержать их всех на 100%. Понимаете да? Это не ее ответственность поддерживать всех и вся. Иначе стоимость техподдержки превысит вообще прибыль от существования проекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 13:54 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
maytonСборщиков много. И среда вовсе не обязана поддержать их всех на 100%. Понимаете да? Это не ее ответственность поддерживать всех и вся. Иначе стоимость техподдержки превысит вообще прибыль от существования проекта. Это смешно. Есть 2 сборщика: Maven и Gradle. И среда: 1) Обязана их поддерживать 2) В 2019 НЕ должна изобретать свою сборку ("проект\модули") Иначе такая среда не нужна. Есть индустриальный стандарт в Java. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 13:57 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
Alexey Tomindakeirasпропущено... Элементарно. Забашляли Гуглу чтобы Идею протолкнуть в Android Studio и далее - забашляли чтобы сделать Котлин офиц. языком для Android. Бред какой. IDEA сдала Android Studio потому что работники гугла пользовуются перешли на IDEA. Вот и всё. У них вообще в разработки порядка особо нет и деньги не сделали бы ничего. Поддержали котлин в андроид потому что решили, что это хорошо для андроид и всё. dakeirasКотлин вообще появился без надобности, нет у него use case. Бреслав прямым текстом говорил, что цели создания котлина (в порядке его приоритетов): - потому что это интересно - у фирмы достаточно денег, чтобы выделить работников для разработки неведомой фигни с нулевой одходностью - они хотели поднять свой статус как фирмы - на java писать надоело и непродуктивно, а scala/groovy не вызывали энтузиазма. Вы просто подтвердили мои слова. Тут есть ещё момент - суды между Oracle и Google касательно Java в Android. Но Гугл должен был выбрать Груви, а не котлин. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 13:59 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
dakeirasmaytonСборщиков много. И среда вовсе не обязана поддержать их всех на 100%. Понимаете да? Это не ее ответственность поддерживать всех и вся. Иначе стоимость техподдержки превысит вообще прибыль от существования проекта. Это смешно. Есть 2 сборщика: Maven и Gradle. И среда: 1) Обязана их поддерживать 2) В 2019 НЕ должна изобретать свою сборку ("проект\модули") Иначе такая среда не нужна. Есть индустриальный стандарт в Java. Я sbt пользуюсь. И он хреново поддерживается. Что мне делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 14:02 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
dakeirasТут есть ещё момент - суды между Oracle и Google касательно Java в Android. Но Гугл должен был выбрать Груви, а не котлин. Зачем ты в технический топик затаскиваешь суды крупных контор? Это вообще никаким боком не имеет отношения к теме топика. Обсуждаем Толстого Робина-Бобина. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 14:04 |
|
|
start [/forum/topic.php?fid=59&msg=39846988&tid=2120876]: |
0ms |
get settings: |
27ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
78ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
452ms |
get tp. blocked users: |
2ms |
others: | 314ms |
total: | 911ms |
0 / 0 |