powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Бобина 4.1.0
25 сообщений из 95, страница 2 из 4
Бобина 4.1.0
    #39990083
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
mayton@ryzen-ssd:/storage/git.java/calcite$ ls gradle* -lF
-rw-r--r-- 1 mayton mayton 4451 Aug 15 17:09 gradle.properties
-rwxr-xr-x 1 mayton mayton 5764 Aug 15 17:09 gradlew*
-rw-r--r-- 1 mayton mayton 3056 Aug 15 17:09 gradlew.bat

gradle:
total 0
drwxr-xr-x 1 mayton mayton 86 Aug 15 17:09 wrapper/



 mayton@ryzen-ssd:/storage/git.java/calcite$ ./gradlew



Gradle надо запускать из корня проекта, а не из места установки Gradle.

Да и вообще не нужно устанавливать Gradle как пакет в ОС :)
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990088
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras

Gradle надо запускать из корня проекта, а не из места установки Gradle.

Это и есть корень проекта. Только не твоего.

Да и вообще не нужно устанавливать Gradle как пакет в ОС :)

Вот это новости! А как его нужно устанавливать? У меня - секретов нет. Я могу показать свой конфиг
пользователя ОС.

А как ты работаешь? Что у тебя? Windows? MacOS? Складывается впечатление что ты только в среде разработки
и собирал. Пойми правильно. Ты должен тут в топике показать сокрушительное. Неопровержимое. Доказтельство
того что твой софт живой и рабчий. Вот посмотри как Колесников педалит свой Json-builder. Он его вылизывает
как кот яйца. Покрыл тестами. Поклеил стикеры успешных стилевых сканеров и гейтов который определяют
качетсво продукта. Любо-дорого смотреть. Человек ДУМАЕТ о внешнем виде. О дистрибуции.

А у тебя что? Тут писали - тут рыбу завернули. Вот ты мне указал на фолдер gradle/wrapper - а там нет атрибута
executable (!). Это значит что в unix этот файл не выполнимый.

Так как ты его выполнял в CI/CD? Он не может работать в принципе! Или у тебя CI/CD под Windows?
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990094
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу релизов gradle. По состоянию на сегодня (15-Aug-2020), стабильной версией
gradle является 6.6 (именно его мне предлагает портал для скачивания).

Зеркало файлового ресурса здесь https://services.gradle.org/distributions/
(когда вы его будете смотреть версия 6.6 уже уйдет вниз и будут новые версии в топе).

По поводу актуальности сборочных конфигов.

Код: java
1.
2.
3.
4.
5.
6.
7.
    compileOnly "org.codehaus.groovy:groovy-all:2.5.4"
    compile "org.slf4j:slf4j-api:1.7.25"
    compile "com.fasterxml.jackson.core:jackson-databind:2.9.8"
    compile 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.8'
    compile "io.i-t:supplies:2.0.0"
    compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.9'
    testCompile "org.codehaus.groovy:groovy-all:2.5.4"



Ключевые слова compile, e.t.c. морально устарели с точки зрения актуальных версий сборщиков.
Сейчас - новая система ключевых слов для указания класса зависимостей.

Как только ты настроишь коробочную сборку из консоли - увидешь warnings. С verbose детализацией
увидешь рекомендации на что их заменить.
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990098
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь многабукв.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
destinations:
  - name: io.infinite.bobbin.config.ConsoleDestinationConfig
    levels: [warn, error, info]
  - name: io.infinite.bobbin.config.FileDestinationConfig
    packages: [io.infinite]
    fileName: ("./LOGS/INFINITE/${className}/${level}/${className}_${level}_${date}.log")
  - name: io.infinite.bobbin.config.FileDestinationConfig
    fileName: ("./LOGS/PACKAGES/${className}/${level}/${className}_${level}_${date}.log")
    format: dateTime + delimiter + level + delimiter + threadName + delimiter + className + delim



Вот мне лень писать каждый раз io.infinite.bobbin.config. Я-же не пишу java.lang.String. Это - обще-принятый тип.
И у компиллятора Java есть особое поведение при обработке пакета java.lang.*

И вы в корпоративной сети когда пингуете хост mayton - фактически имеете в виду суффикс mayton.corporate.com

Хочу писать так. Домен - по умолчанию известен.
Код: java
1.
2.
3.
destinations:
  - name: ConsoleDestinationConfig
    levels: [warn, error, info]
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990099
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЭто и есть корень проекта. Только не твоего.

А нужно из корня собираемого проекта. Это - общепринятые правила.

Выше я привёл ссылку на офиц. документацию Gradle. Перечитай мои сообщения внимательно пожалуйста.

авторВот это новости! А как его нужно устанавливать? У меня - секретов нет. Я могу показать свой конфиг
пользователя ОС.

Никак. Gradle не рекоммендуется устанавливать. Так говорят сами разработчики:

авторYou can install the Gradle build tool on Linux, macOS, or Windows. This document covers installing using a package manager like SDKMAN! or Homebrew, as well as manual installation.

Use of the Gradle Wrapper is the recommended way to upgrade Gradle.
авторThe recommended way to execute any Gradle build is with the help of the Gradle Wrapper (in short just “Wrapper”). The Wrapper is a script that invokes a declared version of Gradle, downloading it beforehand if necessary. As a result, developers can get up and running with a Gradle project quickly without having to follow manual installation processes saving your company time and money.
https://docs.gradle.org/current/userguide/installation.html
https://docs.gradle.org/current/userguide/gradle_wrapper.html#sec:upgrading_wrapper

авторА как ты работаешь? Что у тебя? Windows? MacOS? Складывается впечатление что ты только в среде разработки
и собирал.
Чередую винду, мак и линукс (Arch, Manjaro).

Код: java
1.
Так как ты его выполнял в CI/CD? Он не может работать в принципе! Или у тебя CI/CD под Windows?


CI - Travis. Вообще, в проекте всё видно - надо только приглядется - .travis.yml

Ты должен тут в топике показать сокрушительное. Неопровержимое. Доказтельство
того что твой софт живой и рабчий.

авторА у тебя что? Тут писали - тут рыбу завернули. Вот ты мне указал на фолдер gradle/wrapper - а там нет атрибута
executable (!). Это значит что в unix этот файл не выполнимый.

gradle-wrapper.jar (именно это подразумевается под Gradle Wrapper) не должен быть исполняемым файлом.
gradlew - должен (он такой флаг имеет в корне проекта ). Ещё раз повторю - иначе бы не работало CI.

Код: java
1.
2.
3.
4.
Пойми правильно. Ты должен тут в топике показать сокрушительное. Неопровержимое. Доказтельство
того что твой софт живой и рабчий. Вот посмотри как Колесников педалит свой Json-builder. Он его вылизывает
как кот яйца. Покрыл тестами. Поклеил стикеры успешных стилевых сканеров и гейтов который определяют
качетсво продукта. Любо-дорого смотреть. Человек ДУМАЕТ о внешнем виде. О дистрибуции.


Скажу так, я сторонник минимализма во всём. Очень качественного минимализма.
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990101
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВот мне лень писать каждый раз io.infinite.bobbin.config. Я-же не пишу java.lang.String. Это - обще-принятый тип.
И у компиллятора Java есть особое поведение при обработке пакета java.lang.*

И вы в корпоративной сети когда пингуете хост mayton - фактически имеете в виду суффикс mayton.corporate.com

Хочу писать так. Домен - по умолчанию известен.

Это я исправлю. Спасибо.
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990104
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(разводя руками)

Коллеги. Кто уже смог собрать эту бобину?
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990105
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
(разводя руками)

Коллеги. Кто уже смог собрать эту бобину?


Брат, просто запусти ./gradlew build из корня проекта. Всё заработает.
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990108
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
dakeiras
пропущено...

фейспалм. Без комментариев.

так же как и твоя бабина на груви== рвотный рефлекс

Да нормас. Еще бенчмарка не было. А это в логгерах важно. Чтоб они не блокировали основную линию
бизнес кода, некоторые из них делают с кольцевыми буферами. Ну и в файловые writers добавляют
разные опции асинхронности.
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990112
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Zzz79
пропущено...

так же как и твоя бабина на груви== рвотный рефлекс

Да нормас. Еще бенчмарка не было. А это в логгерах важно. Чтоб они не блокировали основную линию
бизнес кода, некоторые из них делают с кольцевыми буферами. Ну и в файловые writers добавляют
разные опции асинхронности.

Благодарю за поддержку!
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990113
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Да нормас. Еще бенчмарка не было. А это в логгерах важно. Чтоб они не блокировали основную линию
бизнес кода, некоторые из них делают с кольцевыми буферами. Ну и в файловые writers добавляют
разные опции асинхронности.
что там бенчмаркить-то? там в коде на каждую запись тупо flush вызывается, так что от производительности ожидать чего-то совсем не стоит. Еще за каким-то хреном используется FileWriter, который вместо байт пишет символы (ну а если с системной кодировкой не повезло, то в логах будет мусор )
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990114
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
mayton

Да нормас. Еще бенчмарка не было. А это в логгерах важно. Чтоб они не блокировали основную линию
бизнес кода, некоторые из них делают с кольцевыми буферами. Ну и в файловые writers добавляют
разные опции асинхронности.
что там бенчмаркить-то? там в коде на каждую запись тупо flush вызывается, так что от производительности ожидать чего-то совсем не стоит. Еще за каким-то хреном используется FileWriter, который вместо байт пишет символы (ну а если с системной кодировкой не повезло, то в логах будет мусор )

Вот я и говорю. Нужно взять LogBack и этого Робина-Бобина. И просто дать миллион простых евентов.
Смешанного уровня. От error до trace (заодно проверим как работает фильтрация). И просто посмотреть
как пробежал алгоритм.

Я-бы взялся бенчмаркать. Но мне пока есть чем заняться по другому проекту.

Может Стасян потестит?
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990115
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Нужно взять LogBack и этого Робина-Бобина.
Зачем? Я выбираю какой какую именно реализацию slf4j использовать исходя из потребностей, причем критериев может быть больше десятка, а у ТС все крутится вокруг единственной идеи что логи нужно делить по потокам/пользователям (через MDC)/еще как - идея какая-то совершенно бессмысленная - проще все сгружать в хранилище и там уже вертеть как хочется, а не разбирать тысячи файлов. При этом еще и реализация откровенно хромает:

dakeiras

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
levels: [info, warn, error, debug]
destinations:
  - name: io.infinite.bobbin.config.ConsoleDestinationConfig
    packages: [com.acme.logstash]
    dateTimeFormat: "yyyy-MM-dd'T'HH:mm:ss:SSSZ"
    lineBreak: ",\r\n"
    formatArgs: |-
      """{
        "@timestamp": "$dateTime",
        "@version": "1",
        "message": "$message",
        "logger_name": "$className",
        "thread_name": "$threadName",
        "level": "$level",
        "username": "${args[0]}",
        "URI": "${args[1]}",
        "sessionId": "${args[2]}",
        "transactionId": "${args[3]}",
        "instanceId": "${MDC.get('instanceUUID')}"
      }"""



ну вот где здесь хоть какие-то гарантии что на выходе будет валидный JSON, если мы просто берем и интерполируем строку?
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990116
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
что там бенчмаркить-то? там в коде на каждую запись тупо flush вызывается, так что от производительности ожидать чего-то совсем не стоит.


подскажите пожалуйста, как должно быть?

авторЕще за каким-то хреном используется FileWriter, который вместо байт пишет символы (ну а если с системной кодировкой не повезло, то в логах будет мусор )
да, это поправлю. Спасибо!
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990117
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов, он решал какую-то продуктовую задачу. Он писал про это. Родил монстра.

По сути это не логгер. А фреймворк наподобие музыкального центра. Тут тебе
и радио. И кассетник. И винил.

Я думаю что мы просто не в состоянии оценить труды дайкериса потому-что не понимаем
ценности и назначения этого бутерброда. Мы не знаем куда его скотчем можно примотать.
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990119
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
подскажите пожалуйста, как должно быть?
Ну вы логбэк/логстэш хаите а посмотрите как там реализовано (начиная от банального задания immediateFlush у аппендеров, заканчивая отдельными IO-потоками)
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990121
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Log4j2 можно посмотреть в композиции с Disruptor. Это тот самый кольцевой буфер
про который я говорил.
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990124
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
dakeiras
подскажите пожалуйста, как должно быть?
Ну вы логбэк/логстэш хаите а посмотрите как там реализовано (начиная от банального задания immediateFlush у аппендеров, заканчивая отдельными IO-потоками)

Logstash не хаял я! Это отличная вещь.

Ок, посмотрю. (Отдельные потоки - сразу нет.)

авторну вот где здесь хоть какие-то гарантии что на выходе будет валидный JSON, если мы просто берем и интерполируем строку?
Можно Gson использовать для записи JSON если данные могут поломать JSON. Этот пример больше для примера сделан (GSON можно оттуда же по аналогии вызывать в поле format).
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990125
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторАндрей Панфилов, он решал какую-то продуктовую задачу. Он писал про это. Родил монстра.

По сути это не логгер. А фреймворк наподобие музыкального центра. Тут тебе
и радио. И кассетник. И винил.

Я думаю что мы просто не в состоянии оценить труды дайкериса потому-что не понимаем
ценности и назначения этого бутерброда. Мы не знаем куда его скотчем можно примотать.

Наверное путаете с каким-то другим проектом. Это логгер и изначально создавался именно как логгер.
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990127
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Log4j2 можно посмотреть в композиции с Disruptor. Это тот самый кольцевой буфер
про который я говорил.

Так если он блокирует что-то, зачем его использовать?
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990129
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов,

посмотрел Logback.

Он делает тоже самое абсолютно:


Код: java
1.
2.
3.
4.
            this.outputStream.write(byteArray);
            if (immediateFlush) {
                this.outputStream.flush();
            }



https://github.com/qos-ch/logback/blob/ed3ec5be6830bd786705875cc8f6ab9c4937d6e9/logback-core/src/main/java/ch/qos/logback/core/OutputStreamAppender.java#L198-L202
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990131
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
    public ResilientFileOutputStream(File file, boolean append, long bufferSize) throws FileNotFoundException {
        this.file = file;
        fos = new FileOutputStream(file, append);
        this.os = new BufferedOutputStream(fos, (int) bufferSize);
        this.presumedClean = true;
    }



https://github.com/qos-ch/logback/blob/a0318b3bc117a8ad2a6bead88706364134bdd450/logback-core/src/main/java/ch/qos/logback/core/recovery/ResilientFileOutputStream.java#L24-L29

Я когда-то давно смотрел всё это. И тестировал разные комбинации.
С чего Вы взяли что там какая-то магия и супер оптимизация? Все бы знали о таких способах давно наверное)

Так что - какие ваши доказательства? (голосом Шварца)
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990150
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
груви конечно редкостная помойка,которая с трудом поддается здравому смыслу)


груви удобен для многих вещей, тестирования, например в Spock Framework
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990154
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
mayton
Log4j2 можно посмотреть в композиции с Disruptor. Это тот самый кольцевой буфер
про который я говорил.

Так если он блокирует что-то, зачем его использовать?

Я не говорил что он блокирует.
...
Рейтинг: 0 / 0
Бобина 4.1.0
    #39990160
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
dakeiras
пропущено...

Так если он блокирует что-то, зачем его использовать?

Я не говорил что он блокирует.

А, сорри. Неверно прочитал. Оки, посмотрю. Спасибо!
...
Рейтинг: 0 / 0
25 сообщений из 95, страница 2 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / Бобина 4.1.0
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]