|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
Последний вопрос не в кассу, это же groovy. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 18:14 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
Lelouchdakeiras, if (httpRequest.method == "POST") { <-- я понимаю, что это работает, так как "POST" интернируется, но почему не equals? Груви код, там надо == писать. По умолчанию == в Груви это equals. http://docs.groovy-lang.org/latest/html/documentation/core-operators.html#_identity_operator ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 18:15 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
dakeirasLelouchdakeiras, if (httpRequest.method == "POST") { <-- я понимаю, что это работает, так как "POST" интернируется, но почему не equals? Груви код, там надо == писать. По умолчанию == в Груви это equals. http://docs.groovy-lang.org/latest/html/documentation/core-operators.html#_identity_operator да, я уже понял, постом выше. application.config стоит поправить: Код: java 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 18:17 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
Lelouchdakeiras, 1) Зачем каждый раз пересоздавать SslContext? 2) Зачем использовать глобальные настройки SslSocketFactory? (Любой другой код, соседствующий с этой библиотекой и использующий HttpsUrlConnection может вести себя неожидано) 3) Зачем каждый раз пересоздавать обертку для отправки запросов? По вопросу №1 - SSLContext.getInstance("TLS") - это разве не Singletone? Без шуток, если честно особо не глядел. Если нет, поправлю. Не надо так делать. По вопросу №2 - это standalone приложение, оно не подразумевает размещение на общем сервере приложений с другими. Именно по причине глобалього defaultSSLSocketFactory. Какие есть альтернативы setDefaultSSLSocketFactory? По вопросу №3 - это отлично подмеченно. Поправлю. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 18:20 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
Прошу учитывать, что Pigeon это пред-релизное состояние, RC. 99.99% готовность, в течении нескольких недель будет релиз. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 18:21 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
А чё в вашем ПИНГВИНЕ нулевое тестовое покрытие? Нуу... это несеръёзно брадт... Уж коли пилишь гранты - то пили хорошо. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 18:23 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
maytonА чё в вашем ПИНГВИНЕ нулевое тестовое покрытие? Нуу... это несеръёзно брадт... Уж коли пилишь гранты - то пили хорошо. Ну какие гранты? Это шутка была. Там отдельный проект есть PIGEON_PLUGINS в нём Self Testы разные, включая повторную отправку, таймауты и пр. Руки не доходят вкорячить это в билд. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 18:26 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
dakeirasLelouchdakeiras, 1) Зачем каждый раз пересоздавать SslContext? 2) Зачем использовать глобальные настройки SslSocketFactory? (Любой другой код, соседствующий с этой библиотекой и использующий HttpsUrlConnection может вести себя неожидано) 3) Зачем каждый раз пересоздавать обертку для отправки запросов? По вопросу №1 - SSLContext.getInstance("TLS") - это разве не Singletone? Без шуток, если честно особо не глядел. Если нет, поправлю. Не надо так делать. По вопросу №2 - это standalone приложение, оно не подразумевает размещение на общем сервере приложений с другими. Именно по причине глобалього defaultSSLSocketFactory. Какие есть альтернативы setDefaultSSLSocketFactory? По вопросу №3 - это отлично подмеченно. Поправлю. 1) В java 8 и 11 нет. 2) У вас каждый outputQueue имеет собственную настройку senderClassName . Использование SenderDefaultHttps и SenderDefaultHttpsUnsecure для разных очередей приведет к гонке на defaultSSLSocketFactory. Можно использовать HttpsUrlConnection#setSocketFactory ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 18:35 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
А чего форков нету? Никому не нужен видать пингвин. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 18:36 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
maytonА чего форков нету? Никому не нужен видать пингвин. Ну Голубь (Pigeon, почтовый голубь) ещё не в релизе - и объективно маловероятно что кто-то в банках будет ставить нераспространённый опен сорс. Я поговорю со своими знакомыми, может кто-то захочит поменять самописные скрипты для рассылок на это приложение. А вот то что нет скачиваний Bobbin - вот это неожиданно... Видно настолько людям приелись существующие логгеры, что они уже не воспринимают их критично и ленятся что-то новое пробовать... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 18:48 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
авторHttpsUrlConnection#setSocketFactory Спасибо, отличный совет. Так и сделаю, скоро поменяю. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 18:49 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
я вижу тут оживлённое обсуждение и других проектов пошло. Тогда сделаю анонс: скоро будет выпущен новый проект - portable аналог Spring Security для микросервисов + авторизационный сервер к нему. Portable значит что может использоваться с любыми платформами для микросервисов, не ограничиваясь Spring или Java вообще. Например можно его подключить к Python. Это будет одно из очень немногих end-to-end бесплатных решений для безопасности микросервисов - начиная от Authorization Granting и заканчивая Authorization Validation. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 18:53 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
dakeirasА вот то что нет скачиваний Bobbin - вот это неожиданно... ну я бы тоже не стал его использовать. Как минимум: 1) заявление о производительности, но 0 бенчмарков 2) только синхронные аппендеры 3) отсутсвие возможности перенастроить уровень логирования в runtime. 4) Необходимость тащить за логгером 5мб зависимости в виде groovy (logback например - 2 зависимости суммарно 800кб) 5) Малое количество доступных аппендеров 6) меня терзают смутные сомнения о FileDestination - КМК каждый поток может создать свой FileWriter для каждого файла и попробовать что-то туда записать. Что при этом будет с содержимым файла? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 18:57 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
7) любой exception в Destination#store просто свалит поток, вызвавший логирование... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 19:00 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
dakeirasА вот то что нет скачиваний Bobbin - вот это неожиданно... Видно настолько людям приелись существующие логгеры, что они уже не воспринимают их критично и ленятся что-то новое пробовать... Да чет не хоца. Тут прям на глазах пофиксили джуниорский баг. Вобщем-та есть некое.... ощущение что проект - школьный. Не обижайся уж. Мы не злые. Просто трезвый расчет... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 19:02 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
mayton, автортолько синхронные аппендеры Почему синхронные? Как раз таки полностью асинхронные. В этом выигрышь и достигается. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 19:14 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
dakeiras, что в них, простите, асинхронного? store явно вызывает FileWriter#write ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 19:15 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
авторТут прям на глазах пофиксили джуниорский баг. Баг практически ни на что не влиял. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 19:18 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
Lelouch, но на каждый поток - отдельный файл :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 19:18 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
Lelouchdakeiras, что в них, простите, асинхронного? store явно вызывает FileWriter#write на каждый поток отдельный файл и отдельный FileWriter - полностью асинхронная запись, без потерь на synchronized. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 19:19 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
dakeiras, Это асинхронным его не делает. Кроме этого ОЧЕНЬ усложняет анализ логов. + Не могли бы вы показать, где к имени файла примешивается идентификатор потока? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 19:20 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
dakeiras, вот только поток каждый раз ждет, пока файл будет записан. Асинхронные аппендеры это про другое - возможность накапливать много событий в очередь и выводить их в файл 1 куском. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 19:22 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
dakeiras, Если я правильно понял, то на уровне конфигурации: "fileName": "\"./LOGS/${threadName}/${level}/${threadName}_${level}_${date}.log\"", при этом если пользователь НЕ укажет threadName при настроке навзания или пути файла - то видимо он ССЗБ :) прэлэстно ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 19:27 |
|
Новый альтернативный Slf4j логгер Бобина
|
|||
---|---|---|---|
#18+
dakeirasLelouchdakeiras, что в них, простите, асинхронного? store явно вызывает FileWriter#write на каждый поток отдельный файл и отдельный FileWriter - полностью асинхронная запись, без потерь на synchronized.Код не смотрел, поэтому мой вопрос может показаться ламерский. Потери на synchronized это же не просто потери, synchronized дает гарантию visibility. Что корректное значение записаное в одним потоке, будет прочитано в другом. Как это достигается здесь, через использование immutable+final объектов или как? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 19:32 |
|
|
start [/forum/topic.php?fid=59&msg=39846024&tid=2120876]: |
0ms |
get settings: |
25ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
135ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
400ms |
get tp. blocked users: |
1ms |
others: | 346ms |
total: | 945ms |
0 / 0 |