Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 [6] 7 8 9 10 11   вперед  Ctrl      все
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

Откуда:
Сообщений: 294
Т.е. хотите - делайте 1 файл на поток, хотите отдельные файлы по уровням, Бобина всё это отлично поддерживает.

Никаких умозрительных ограничений и незадокументированных архитектурных проблем нет.
6 авг 19, 23:04    [21943366]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

Откуда:
Сообщений: 294
Пока я отвечу более детально, прошу всех скачать Бобину (через Maven, Gradle, jar - как удобно) и просто начать ей пользоваться.

Настроить по своим предпочтениям. И наслаждаться свободой от ига logback и прочих log4j.
6 авг 19, 23:06    [21943367]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

Откуда:
Сообщений: 294
Релиз 2.0.5 - он с учётом фидбека из этой темы.
6 авг 19, 23:10    [21943369]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
dakeiras
Я завтра с работы подробно отвечу на комментарии.

Касательно ELK - там невозможно вручную логи смотреть, поэтому отдельные файлы на каждый лог - дают выигрыш в производительности - за счёт отсутствия io congestion.

Если нет ELK, в случаях с пакетными приложениями, ETL, индустриальными приложениями с фиксированными потоками - там возможность отдельных лог файлов это супер фича.
Когда требуется вручную разбирать лог файлы. И в процессе отладки приложения.

А что касательно Elastic-Kibana? Речь вообще про него не идёт.
Или вы делаете узкоспециализированное решение?
6 авг 19, 23:29    [21943375]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
dakeiras
Пока я отвечу более детально, прошу всех скачать Бобину (через Maven, Gradle, jar - как удобно) и просто начать ей пользоваться.

Настроить по своим предпочтениям. И наслаждаться свободой от ига logback и прочих log4j.

А ты хитрец. Хочешь бесплатную бригаду тестировщиков?

Ты с Панфиловым расчитался?
6 авг 19, 23:34    [21943376]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

Откуда:
Сообщений: 294
mayton
dakeiras
Пока я отвечу более детально, прошу всех скачать Бобину (через Maven, Gradle, jar - как удобно) и просто начать ей пользоваться.

Настроить по своим предпочтениям. И наслаждаться свободой от ига logback и прочих log4j.

А ты хитрец. Хочешь бесплатную бригаду тестировщиков?

Ты с Панфиловым расчитался?

конечно! Ща как затестирую за ваш счет да как раскручусь, донат польётся рекой.

Кстати, правительсто оплачивает мне 10 опер сорс проектов, но я выкладываю только 5, остальные сам использую.

Как с тем армянином (который к сожалению умер) и бесплатным хлебом.
6 авг 19, 23:40    [21943377]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9288
dakeiras
Можно пример как это настраивается в Log4j без изменения пользовательского кода?
Сейчас уже сложно найти ссылку на общедоступное руководство по log4j 1.2, поэтому я дал ссылку на документацию, где есть говорящее "andWatch". XML-конфигурация регулярно проверяется на обновление (мониторится дата-время xml-файла и, возможно, его размер). Если изменение обнаружено - запускается процесс переконфигурации.

Практически, когда мне потребовалось написать XML-конфигурацию log4j, то, лично я, сделать этого не смог - не разобрался с DTD. Зато, после недолгих поисков, нашёл онлайновый конвертор, скормил ему простую конфигурацию из файла свойств и получил шаблон, который потом менял под собственные нужды. Всё это проделывалось лет шесть назад и прекрасно работало.
7 авг 19, 06:36    [21943398]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9288
dakeiras
Просто с точки зрения здравого смысла, если у вас есть 500 потоков - писать лог в единый файл - это бред, наркомания укоренившаяся с годами.
Нет задачи "писать лог в единый файл" и наркомания тут совершенно не в тему.
Если анализ проблемы требует анализ данных от пятисот потоков - так тому и быть.
И вот в этом случае собирать и синхронизировать данные из пятисот логов - проще сразу убиться, предварительно застрелив автора этой гениальной задумки.
7 авг 19, 06:47    [21943401]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3287
dakeiras
Андрей нашёл 1 явный баг (minor)

У вас какое-то определение minor/major несколько странное... Вы внимательно читали выхлоп от 21941782? Там mm, dd, yyyy и пр. не полностью замещаются, а перемешиваются, т.е. на "границах" разница получается на самом деле не микросекунды, а секунды, минуты, часы, месяцы, годы - если такой лог куда-то грузить для дальнейшего анализа, то в нем сообщения будут банально теряться.

dakeiras
1 потенциальный баг с max open files exceeded
т.е. до конца раскрутить вы замечание не смогли, а вот Lelouch смог 21943227:
Lelouch
6) меня терзают смутные сомнения о FileDestination - КМК каждый поток может создать свой FileWriter для каждого файла и попробовать что-то туда записать. Что при этом будет с содержимым файла?
7 авг 19, 07:27    [21943407]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 1375
Basil A. Sidorov,
Вроде стандартная фича логеров, писать в один файл, но после времени идёт id потока.
Удобно.
7 авг 19, 08:15    [21943430]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1768
dakeiras,

Хотели тесты - получайте

https://github.com/oleg-zinovev/bobbin-test-suite

1) TestIOExceptionOnLog - показывает, что в случае ошибки IO полезная работа (в данном случае установка флага work) не выполняется. Для демонстрации этого кейса на Windows можно указать несуществующий диск (вместо /some/missing/root/directory/on/my/mac). На *nix достаточно запустить от пользователя, который не имеет права на запись в /.

2) TestSameName - показывает ошибки при одинаковом имени файла. На Windows возможно тест завершиться с ошибкой на первых 3х ассретах. Так как *nix позволяет писать в один файл из нескольких процессов/потоков, для демонстрации проблемы пришлось сгенерировать строку лога, превышающий размеры буфера записи в FileWriter (возможно, есть меньший размер буфера, при котором начнется перемешивание, связанный с работой файловой системы, но тут я хз). При этом на *nix ошибок записи нет, но содержимое логов перемешивается. Последний assert проверяет именно это.
7 авг 19, 09:11    [21943454]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

Откуда:
Сообщений: 294
Basil A. Sidorov
dakeiras
Просто с точки зрения здравого смысла, если у вас есть 500 потоков - писать лог в единый файл - это бред, наркомания укоренившаяся с годами.
Нет задачи "писать лог в единый файл" и наркомания тут совершенно не в тему.
Если анализ проблемы требует анализ данных от пятисот потоков - так тому и быть.
И вот в этом случае собирать и синхронизировать данные из пятисот логов - проще сразу убиться, предварительно застрелив автора этой гениальной задумки.


Логгер «Бобина» позволяет удобно настраивать отображения вывода данных логирования в разных проекциях, в зависимости от необходимости:

- По потокам
- По уровню сообщения (error, debug, etc)
- По классам
- По MDC - например отслеживать работу по конкретному пользователю или по конкретному transaction id

Эти критерии можно группировать и комбинировать как угодно, например по группам потоков, пакетам классов - ограничений нет никаких.

1 сообщение может выводится во множество файлов одновременно.

Всё ещё хочется застрелить за такую идею? Плохая идея?

По остальным комментариям - отвечу с работы, заранее большое спасибо за тесты и фидбек.
7 авг 19, 12:51    [21943712]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1768
dakeiras
Всё ещё хочется застрелить за такую идею? Плохая идея?


За идею вас тут никто не расстреливают, просто никто кроме вас не видит преимуществ в этой идеи.
А вот реализация идеи хромает.
7 авг 19, 12:57    [21943721]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

Откуда:
Сообщений: 294
Lelouch
dakeiras
Всё ещё хочется застрелить за такую идею? Плохая идея?


За идею вас тут никто не расстреливают, просто никто кроме вас не видит преимуществ в этой идеи.
А вот реализация идеи хромает.


Человек выше написал:

автор
застрелив автора этой гениальной задумки


Мне лично хочется самому застрелиться от конфигов logback и log4jX.

Сейчас начну смотреть тесты и комменты.
7 авг 19, 13:55    [21943782]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

Откуда:
Сообщений: 294
Lelouch,

Огромное спасибо, что потратили время и сделали тесты.
Сейчас буду смотреть.

Респект.
7 авг 19, 13:58    [21943785]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
dakeiras
Lelouch
пропущено...


За идею вас тут никто не расстреливают, просто никто кроме вас не видит преимуществ в этой идеи.
А вот реализация идеи хромает.


Человек выше написал:

автор
застрелив автора этой гениальной задумки


Мне лично хочется самому застрелиться от конфигов logback и log4jX.

Сейчас начну смотреть тесты и комменты.

Ты ставишь нас в глупое положение. Ведь мы не видим те ужасные конфиги на которые
ты смотришь сейчас. Сделай милость. Приведи конфиг для одинаковой конфигурации для Робин-Катушка-Толтсяк
и Лог4Джей и Логбэк.
7 авг 19, 14:04    [21943792]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

Откуда:
Сообщений: 294
mayton
dakeiras
пропущено...


Человек выше написал:

пропущено...


Мне лично хочется самому застрелиться от конфигов logback и log4jX.

Сейчас начну смотреть тесты и комменты.

Ты ставишь нас в глупое положение. Ведь мы не видим те ужасные конфиги на которые
ты смотришь сейчас. Сделай милость. Приведи конфиг для одинаковой конфигурации для Робин-Катушка-Толтсяк
и Лог4Джей и Логбэк.


Вот несколько моментов описано:
https://github.com/INFINITE-TECHNOLOGY/BOBBIN/wiki/1---Introduction#problems

Это если чуть конкретнее.

Но в общем случае конфиги Бобины просто невоспроизводимы в других логгерах из-за функциональных ограничений SiftingAppender - либо огромные по размеру (отдельные блоки НА КАЖДЫЙ КЛАСС либо на весь пакет целиком)
7 авг 19, 14:30    [21943825]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
dakeiras, ты пишешь

Existing logging solutions provide only partial support for scripting in configuration.

Поясни эту фразу. Что значит scripting in configuration? Где partial? И где может быть full?
7 авг 19, 14:34    [21943831]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

Откуда:
Сообщений: 294
Lelouch,

Посмотрел 1й тест: TestIOExceptionOnLog

Сделал PR: https://github.com/oleg-zinovev/bobbin-test-suite/pull/1

Бобина есть в JCenter, не обязательно ещё её собвстенный репозиторий подключать, это описано в инструкции:
https://github.com/INFINITE-TECHNOLOGY/BOBBIN/wiki/3---Usage#add-maven-dependency

Так же тест не воспроизводился под виндой из-за UAC Virtualization. Я чуть подправил.

Теперь касательно сути самого теста: это осмысленное поведение.
Я считаю, что выполнение не должно продолжаться при отказе системы логирования.

Принцип такой: чем раньше упадёт - тем лучше. А шанс того что упадёт само приложение чуть позже, если упал логгер - есть.

Это очередная "гениальная" фича в Logback - супрессить ошибки в логгере.
7 авг 19, 14:53    [21943842]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

Откуда:
Сообщений: 294
mayton
dakeiras, ты пишешь

Existing logging solutions provide only partial support for scripting in configuration.

Поясни эту фразу. Что значит scripting in configuration? Где partial? И где может быть full?


В Бобине full support скриптинга в конфиге, все поля это скрипты:
- levels
- classes
- fileName
- format
и пр.

Partial из документации к Бобине:
Note: Logback supports Groovy Script filter - but it is applicable only on specific appender configuration, not on Logger configuration.

Т.е. только фильтр и только на уровне аппендеров...
7 авг 19, 14:55    [21943846]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

Откуда:
Сообщений: 294
Lelouch, сейчас посмотрю второй тест.
7 авг 19, 14:56    [21943847]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

Откуда:
Сообщений: 294
Mayton,

Вот ещё про Full support:

https://github.com/INFINITE-TECHNOLOGY/BOBBIN/wiki/1---Introduction#full-support-for-scripting-in-logger-run-time-configuration-files
7 авг 19, 14:58    [21943849]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
dakeiras
mayton
dakeiras, ты пишешь

пропущено...

Поясни эту фразу. Что значит scripting in configuration? Где partial? И где может быть full?


В Бобине full support скриптинга в конфиге, все поля это скрипты:
- levels
- classes
- fileName
- format
и пр.

Partial из документации к Бобине:
Note: Logback supports Groovy Script filter - but it is applicable only on specific appender configuration, not on Logger configuration.

Т.е. только фильтр и только на уровне аппендеров...

Но ты понимаешь что есть семантическое различие между конфигом и кодом?

В коде находят ошибки другого рода. Код сложнее тестировать. Код вообще
в общем случае корректен недоказуемо.

Конфиг - всегда корректен если просто прошел валидацию.

Ты, беря возможности Groovy перенёс часть логики в конфиги и выставил это как преимущество.
Но на самом деле это не разу не приемущество. Это - недостаток. Это - ненадёжность системы.
7 авг 19, 15:02    [21943852]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

Откуда:
Сообщений: 294
mayton
dakeiras
пропущено...


В Бобине full support скриптинга в конфиге, все поля это скрипты:
- levels
- classes
- fileName
- format
и пр.

Partial из документации к Бобине:
пропущено...

Т.е. только фильтр и только на уровне аппендеров...

Но ты понимаешь что есть семантическое различие между конфигом и кодом?

В коде находят ошибки другого рода. Код сложнее тестировать. Код вообще
в общем случае корректен недоказуемо.

Конфиг - всегда корректен если просто прошел валидацию.

Ты, беря возможности Groovy перенёс часть логики в конфиги и выставил это как преимущество.
Но на самом деле это не разу не приемущество. Это - недостаток. Это - ненадёжность системы.


Вот. Прямо в точку.

Нет разницы между конфигом и кодом.

Есть единая система - с изменениями на этапах:
1) Сборки\компиляции
2) Запуска (старта) работы\перезапуске
3) В Runtime

Всё.

То что в конфигах не должны быть скрипты - это миф, страшилка родом из 90х.
Типа тормозит, небезопасно и пр. Это всё несостоятельно, и в результате приводит к декларативному программированию в конфигах (https://github.com/INFINITE-TECHNOLOGY/BOBBIN/wiki/1---Introduction#declarative-programming-in-logger-configuration)
а также к изобретению волшебных синтаксисов.

А также типа пользователь не разберётся как настроить. Если дев опс не в состоянии осилить скрипт - он по определению не дев опс.
7 авг 19, 15:13    [21943873]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
dakeiras
То что в конфигах не должны быть скрипты - это миф, страшилка родом из 90х.
Типа тормозит, небезопасно и пр. Это всё несостоятельно, и в результате приводит к декларативному программированию в конфигах (https://github.com/INFINITE-TECHNOLOGY/BOBBIN/wiki/1---Introduction#declarative-programming-in-logger-configuration)
а также к изобретению волшебных синтаксисов.

А также типа пользователь не разберётся как настроить. Если дев опс не в состоянии осилить скрипт - он по определению не дев опс.

Капец какой-то. Вот ты Windows используешь. И тестишь на нем своего Толстого-Робина
(отдельный вопрос почему ибо не энтерпрайзно. но потом спрошу) но хоть раз заглядывал
в самое крупное хранилище настрек Windows. А именно в Windows-registry?
7 авг 19, 15:27    [21943884]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 [6] 7 8 9 10 11   вперед  Ctrl      все
Все форумы / Java Ответить