powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Как скрыть варнинг об отсутствии SLF4J логгера
54 сообщений из 54, показаны все 3 страниц
Как скрыть варнинг об отсутствии SLF4J логгера
    #39987870
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использую Ktor Kotlin Framework и он где-то (вероятно в Jetty) имеет slf4j зависимость и пишет предупреждение

Код: java
1.
2.
3.
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.


Как это можно скрыть (я использую Мавен)? В идеале вообще не добавляя SLF4J в зависимости, поскольку он мне не нужен, я использую другую систему логов.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39987875
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таки нашел как убрать мусор из логов, надо добавить в пом.хмл
Код: java
1.
2.
3.
4.
5.
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-nop</artifactId>
      <version>1.7.30</version>
    </dependency>
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39987966
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смыс логгирования в том чтоб уведомлять о важных событиях в системе. Если ты подключаешь
slf4j-nop аппендер - ты подключаешь заглушку. Которая сливает все события в сливную яму.
Примерно как и виртуальный файл /dev/null в Unix. Тоесть все события что подсистема slf4j
залоггирует - она сольёт в канализацию. Возможно было-бы полезно подключить нормальный
аппендер к консоли (STDOUT) от Log4j2 или Backlog которые умеют стыковаться мостом с slf4j
и хотя-бы посмотреть что там вообще сообщается. Может какие-то месседжи от библиотек.
Они могут быть важны.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988011
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не лучшее решение, лучше вот так:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
...
<repositories>
    <repository>
        <id>jcenter</id>
        <name>jcenter</name>
        <url>https://jcenter.bintray.com</url>
    </repository>
</repositories>
...
<dependency>
    <groupId>io.i-t</groupId>
    <artifactId>bobbin</artifactId>
    <version>4.1.0</version>
</dependency>
...



кстати вот классная статья по этому логгеру:
https://i-t.io/website/#/Blog/LoggingSpringBoot
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988043
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
кстати вот классная статья по этому логгеру:
https://i-t.io/website/#/Blog/LoggingSpringBoot


Это тот логер, где конкаранси проблемы нашли просто ткнуть пальцем? Ну ну...
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988044
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin
dakeiras
кстати вот классная статья по этому логгеру:
https://i-t.io/website/#/Blog/LoggingSpringBoot


Это тот логер, где конкаранси проблемы нашли просто ткнув пальцем? Ну ну...
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988047
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да это тот медленный логгер, автор которого так и не сделал бенчмарка.

И так и не создал внятной документации.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988068
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin
dakeiras
кстати вот классная статья по этому логгеру:
https://i-t.io/website/#/Blog/LoggingSpringBoot


Это тот логер, где конкаранси проблемы нашли просто ткнуть пальцем? Ну ну...

это тот логгер в котором многопоточность изначально лучше спроектирована чем в остальных логгерах, т.к. он проектировался специально для этого.
А найденное использование simpledateformat можно было даже оставить, оно не вызывало проблем в этом случае.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988094
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСмыс логгирования в том чтоб уведомлять о важных событиях в системе. Если ты подключаешь
slf4j-nop аппендер - ты подключаешь заглушку. Которая сливает все события в сливную яму.
Примерно как и виртуальный файл /dev/null в Unix. Тоесть все события что подсистема slf4j
залоггирует - она сольёт в канализацию. Возможно было-бы полезно подключить нормальный
аппендер к консоли (STDOUT) от Log4j2 или Backlog которые умеют стыковаться мостом с slf4j
и хотя-бы посмотреть что там вообще сообщается. Может какие-то месседжи от библиотек.
Они могут быть важны.

Я использую подход во многом похожий на https://12factor.net и структурные логи
Стандартные логи и конфиги жавы я не использую.
Про пропуск важных событий - у меня стоят свои перехватчики try/catch
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988096
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно мне потому и понравился Котлин - он дает возможность выкинуть все что есть в жаве кроме ядра и центральных конструкций языка.

И использовать его так словно это руби.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988132
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
private,
Пора тебе подветку форума заводить про Kotlin.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988175
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
private
авторСмыс логгирования в том чтоб уведомлять о важных событиях в системе. Если ты подключаешь
slf4j-nop аппендер - ты подключаешь заглушку. Которая сливает все события в сливную яму.
Примерно как и виртуальный файл /dev/null в Unix. Тоесть все события что подсистема slf4j
залоггирует - она сольёт в канализацию. Возможно было-бы полезно подключить нормальный
аппендер к консоли (STDOUT) от Log4j2 или Backlog которые умеют стыковаться мостом с slf4j
и хотя-бы посмотреть что там вообще сообщается. Может какие-то месседжи от библиотек.
Они могут быть важны.


Я использую подход во многом похожий на https://12factor.net и структурные логи
Стандартные логи и конфиги жавы я не использую.
Про пропуск важных событий - у меня стоят свои перехватчики try/catch

Вы как раз указываете на невозможность использования slf4j-nop в Вашем случае.

Кстати очень забавно - 12 factor app говорит что всякие rolling file appender и size policy в 21м веке не нужны.
Это в первую очередь адресуется людям свято верящим что logback хороший логгер.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988187
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
private
авторСмыс логгирования в том чтоб уведомлять о важных событиях в системе. Если ты подключаешь
slf4j-nop аппендер - ты подключаешь заглушку. Которая сливает все события в сливную яму.
Примерно как и виртуальный файл /dev/null в Unix. Тоесть все события что подсистема slf4j
залоггирует - она сольёт в канализацию. Возможно было-бы полезно подключить нормальный
аппендер к консоли (STDOUT) от Log4j2 или Backlog которые умеют стыковаться мостом с slf4j
и хотя-бы посмотреть что там вообще сообщается. Может какие-то месседжи от библиотек.
Они могут быть важны.


Я использую подход во многом похожий на https://12factor.net и структурные логи
Стандартные логи и конфиги жавы я не использую.
Про пропуск важных событий - у меня стоят свои перехватчики try/catch
А что внутри этих "перехватчиков" ?
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988207
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто обычный перехватчик с логами и сообщением об ошибке, Например:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
...
    // Handling request
    try {
      log.info(if(is_privacy_enabled) "[hidden]" else req.toString())
      val any_res = handler(req)
      val res = if (any_res is Response) any_res else Response(any_res)
      format_response(req.format, res, sres)
    } catch (e: Exception) {
      try {
        val message: String = e.message ?: "Unknown error"
        log.error(if(is_privacy_enabled) "[hidden]" else req.toString(), if(is_privacy_enabled) null else e)
        format_error(default_format, message, sres)
      } catch (e: Exception) {
        log.error("can't reply with error", if(is_privacy_enabled) null else e)
        "Can't reply with handler error"
      }
    }
...
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988216
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точнее, вот

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
...
try {
  log.info(req.toString())
  val res = handler(req)
  return format_response(res)
} catch (e: Exception) {
  try {
    log.error(req.toString(), e)
    return format_error(e.message)
  } catch (e: Exception) {
    log.error("can't reply with error", e)
    return "Can't reply with handler error"
  }
}
...
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988219
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обертка для обработчика ХТТП запроса для веб-сервера spark
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988268
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
private,
Сколько на день написания кода у вас try конструкций?
Не надоедает по 12-15 строк в каждой писать?
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988289
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю джентльмены. Чем-то мне такой подход не нравится. Эта этажерка из try....

Некрасиво как-то. А в части практической механики например... там где некрасиво - там
крыло у самолета обламывается. Это метафора конечно. Но за метафорой может быть
повод обсудить.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988413
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот как я разобрался с логированием раз и навсегда (Groovy):

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    @PostMapping(value = "/restricted/user/{phone}/payment/{plaidAccountId}")
    @ResponseBody
    @CompileDynamic
    @CrossOrigin
    Payment createPayment(
            @RequestBody Payment payment,
            @PathVariable("phone") String phone,
            @PathVariable("plaidAccountId") String plaidAccountId
    ) {
        return paymentService.createPayment(payment, phone, plaidAccountId)
    }



Аннотация @BlackBox (на уровне класса) автоматически преобразует это на этапе компиляции в:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
    @PostMapping(value = "/restricted/user/{phone}/payment/{plaidAccountId}")
    @ResponseBody
    @CompileDynamic
    @CrossOrigin
    Payment createPayment(
            @RequestBody Payment payment,
            @PathVariable("phone") String phone,
            @PathVariable("plaidAccountId") String plaidAccountId
    ) {
        java.lang.Object resultPlaceHolder
        blackBoxRuntime.methodBegin(new io.infinite.blackbox.MethodMetaData('io.infinite.orbit.controllers.PaymentController', 'createPayment', 22, 32, 5, 6), ['payment': payment, 'phone': phone, 'plaidAccountId': plaidAccountId])
        try {
            return resultPlaceHolder = paymentService.createPayment(payment, phone, plaidAccountId)
        }
        catch (java.lang.Exception automaticException) {
            blackBoxRuntime.methodException(new io.infinite.blackbox.MethodMetaData('io.infinite.orbit.controllers.PaymentController', 'createPayment', 22, 32, 5, 6), ['payment': payment, 'phone': phone, 'plaidAccountId': plaidAccountId], automaticException)
            throw automaticException
        }
        finally {
            blackBoxRuntime.methodResult(new io.infinite.blackbox.MethodMetaData('io.infinite.orbit.controllers.PaymentController', 'createPayment', 22, 32, 5, 6), resultPlaceHolder)
            blackBoxRuntime.methodEnd(new io.infinite.blackbox.MethodMetaData('io.infinite.orbit.controllers.PaymentController', 'createPayment', 22, 32, 5, 6))
        }
    }



С этих пор я логирование не пишу. Вообще. И при этом логи имеют вообще всю возможную информацию.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988427
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,
"Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988430
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,

Где тут элемент твоей гордости? Букв много. Неймспейсы какие-то. Зачем это все?

Да любой классический логгер, выглядит лаконично в use case.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988443
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
dakeiras,
"Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand.

ну в общем да. Крайняя степень простоты - пустота.
В данном случае кода логирования не видно.
А он есть:)
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988444
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
dakeiras,

Где тут элемент твоей гордости? Букв много. Неймспейсы какие-то. Зачем это все?

Да любой классический логгер, выглядит лаконично в use case.

это не логгер, а аннотация, добавляющая код логирования на этапе компиляции.

В частности добавленный код логирует аргументы и возвращаемый объект.

Неймспейсы это имя класса в котором объявлен метод из примера.

Логгер тут поддерживается любой (Slf4j).
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988482
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСколько на день написания кода у вас try конструкций?
Не надоедает по 12-15 строк в каждой писать?

Ни одной, это-же единый перехватчик для всех запросов. Я вообще редко явно не использую try/catch

авторНе знаю джентльмены. Чем-то мне такой подход не нравится. Эта этажерка из try....

Некрасиво как-то. А в части практической механики например... там где некрасиво - там
крыло у самолета обламывается. Это метафора конечно. Но за метафорой может быть
повод обсудить.

это один единственный кусочек кода с перехватчиком.
Сама бизнес-логика выглядит как код ниже, и все ошибки в ней будут отловлены и записан этим перехватчиком.

Код: java
1.
server.get("/say_hello") { "Hi" }
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988484
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и да в логах будет записао что

Ну и да в логах будет записано компактное сообщение (вместо жавовской лапши)

Код: java
1.
info HTTP /say_hello



А в базу логов уже пойдет (в моем примере перхватчика этого не видно, я привел упрощенную версию) уже подробное событие типа

Код: java
1.
2.
3.
4.
{ 
  time: "2020-...", component: "HTTP", level: "info", 
  method: "get", path: "/say_hello", params: {}, finished_in_ms: 120,
}
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988521
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,
>Аннотация @BlackBox
Для твоего личного логгера вроде тема отдельная есть
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988553
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
dakeiras,
>Аннотация @BlackBox
Для твоего личного логгера вроде тема отдельная есть

это не логгер, а аннотация добавляющая код логирования.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988554
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,

в 12-factor app принято логировать в stdout. При такой логике ваша бобина не имеет никаких (даже теоретических) преимуществ
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988555
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
PetroNotC Sharp
dakeiras,
>Аннотация @BlackBox
Для твоего личного логгера вроде тема отдельная есть

это не логгер, а аннотация добавляющая код логирования.


Эта аннотация пишется для java за час любым кто слышал про aspectj )
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988561
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch,
Я понимаю что можно написать.
Но ведь никто не пишет блин)))))
Плохой стиль писать свои аннотации.
Ну или другой уровень работы.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988563
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
PetroNotC Sharp
dakeiras,
>Аннотация @BlackBox
Для твоего личного логгера вроде тема отдельная есть

это не логгер, а аннотация добавляющая код логирования.
в плюсах есть макросы..... Добавляющие кучу кода.
Профит то не в том чтобы добавлять кучу кода.
Ближе к теме топика.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988572
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch
dakeiras,

в 12-factor app принято логировать в stdout. При такой логике ваша бобина не имеет никаких (даже теоретических) преимуществ


Вот пример конфига Бобины для logstash:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
levels: [info, warn, error, debug]
destinations:
  - name: io.infinite.bobbin.config.FileDestinationConfig
    fileName: ("${System.getProperty('user.home')}/logs/module/Logstash.log")
    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",
        "arg0": "${args[0]}",
        "arg1": "${args[1]}",
        "arg2": "${args[2]}",
        "arg3": "${args[3]}",
        "arg4": "${args[4]}",
        "arg5": "${args[5]}"
      }"""



автор>Аннотация @BlackBox
Для твоего личного логгера вроде тема отдельная есть
Это 2 разных вещи - логгер Бобина и аннотация Чёрный Ящик.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988574
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch
dakeiras
пропущено...

это не логгер, а аннотация добавляющая код логирования.


Эта аннотация пишется для java за час любым кто слышал про aspectj )

Использовать Аспекты - очень плохая практика.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988579
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
dakeiras
пропущено...

это не логгер, а аннотация добавляющая код логирования.
в плюсах есть макросы..... Добавляющие кучу кода.
Профит то не в том чтобы добавлять кучу кода.
Ближе к теме топика.

Я согласен. Платформа должна изначально давать функционал логирования и веб безопасности. Иначе она мало отличается от того же C++.
Но к сожалению JRE не позволяет это.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988593
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,
Для меня платформа, это IDE со всей обвязкой из коробки.
Ну и довесок Log4j полностью устраивал.
Хотя мы опять пойдем к оффтопу про бобину)))
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988683
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras

Я согласен. Платформа должна изначально давать функционал логирования и веб безопасности. Иначе она мало отличается от того же C++.
Но к сожалению JRE не позволяет это.


Ну вообще-то Java-платформа всё это предлагает.
В стандартах JavaEE всё есть. :-)
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988688
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
dakeiras

Я согласен. Платформа должна изначально давать функционал логирования и веб безопасности. Иначе она мало отличается от того же C++.
Но к сожалению JRE не позволяет это.


Ну вообще-то Java-платформа всё это предлагает.
В стандартах JavaEE всё есть. :-)

В Java есть SecurityManager. По умолчанию он выключен но вы можете его сконфигурировать и включить.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988705
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
dakeiras

Я согласен. Платформа должна изначально давать функционал логирования и веб безопасности. Иначе она мало отличается от того же C++.
Но к сожалению JRE не позволяет это.


Ну вообще-то Java-платформа всё это предлагает.
В стандартах JavaEE всё есть. :-)

JavaEE это фреймворк а не платформа.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988706
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
mad_nazgul
пропущено...


Ну вообще-то Java-платформа всё это предлагает.
В стандартах JavaEE всё есть. :-)

В Java есть SecurityManager. По умолчанию он выключен но вы можете его сконфигурировать и включить.

Для вебсервисов он бесполезен.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988708
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,
>Для вебсервисов он бесполезен.
-1
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988736
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
mayton
пропущено...

В Java есть SecurityManager. По умолчанию он выключен но вы можете его сконфигурировать и включить.

Для вебсервисов он бесполезен.

Ммм... нужно какое-то глубокое обоснование. Из коробки - он существует. Другое дело что он не конфигурируется
аннтотациями - это да. Он создавался во времена ранних JDK в которых еще не было механизма расширения
возможностей аннотаций.

Просто вы говорите что Java из коробки не поддерживает безопасность. Я говорю - это неправда. Java - это одна
из первых платформ где безопасность вообще была поставлена во главу угла. В скоупе безопасности много чего
сделано в механике ClassLoader и ЭЦП которые покрывают например Jar пакеты. Разумеется все это работает
когда это настроено. Начиная с Java9 введена безопасность рефлексирования кода. Сборки делаются закрытыми.
Хотя это в старых версиях решалось через OSGI. Но OSGI- просто библиотека а модульность это именно часть
платформы. В Java - самая роскошная библиотека криптографии. Даже без Боунси-Кэстла просто на базе стандартных
com.sun.* пакетов уже есть все что надо для шифрования и подписывания.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988742
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
dakeiras,
>Для вебсервисов он бесполезен.
-1


можете пояснить, что это значит и как-то аргументировать?

авторПросто вы говорите что Java из коробки не поддерживает безопасность
Я такого не говорил.

Вот что я сказал:
авторЯ согласен. Платформа должна изначально давать функционал логирования и ВЕБ безопасности. Иначе она мало отличается от того же C++.
Но к сожалению JRE не позволяет это.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988746
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
Lelouch
пропущено...


Эта аннотация пишется для java за час любым кто слышал про aspectj )

Использовать Аспекты - очень плохая практика.


А использовать вашу аннотацию, котора делает по сути тоже самое, что и compile-time weaving в aspectj это нормально?) (e.g. https://github.com/INFINITE-TECHNOLOGY/BLACKBOX/blob/master/src/main/groovy/io/infinite/blackbox/BlackBoxTransformation.groovy)

+ тогда весь Спринг фактически построен на плохих практиках, ибо без аспектов там даже банальный @Transactional не работает
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988747
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch
dakeiras
пропущено...

Использовать Аспекты - очень плохая практика.


А использовать вашу аннотацию, котора делает по сути тоже самое, что и compile-time aspectj это нормально?) (e.g. https://github.com/INFINITE-TECHNOLOGY/BLACKBOX/blob/master/src/main/groovy/io/infinite/blackbox/BlackBoxTransformation.groovy)

+ тогда весь Спринг фактически построен на плохих практиках, ибо без аспектов там даже банальный @Transactional не работает

Аннотацию @BlackBox можно использовать без тяжёлых зависимостей в виде Спринга и Aspectj.
Т.е. везде где используется Груви. Например в скриптах Jira.

Хотя я сам использую её со Спрингом в основном. Просто аннотировать класс\метод (оба варианта поддерживаются) проще и быстрее чем настраивать advice.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988748
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
Lelouch
пропущено...


А использовать вашу аннотацию, котора делает по сути тоже самое, что и compile-time aspectj это нормально?) (e.g. https://github.com/INFINITE-TECHNOLOGY/BLACKBOX/blob/master/src/main/groovy/io/infinite/blackbox/BlackBoxTransformation.groovy)

+ тогда весь Спринг фактически построен на плохих практиках, ибо без аспектов там даже банальный @Transactional не работает

Аннотацию @BlackBox можно использовать без тяжёлых зависимостей в виде Спринга и Aspectj.
Т.е. везде где используется Груви. Например в скриптах Jira.

Хотя я сам использую её со Спрингом в основном. Просто аннотировать класс\метод (оба варианта поддерживаются) проще и быстрее чем настраивать advice.


Тяжелая зависимость aspectjrt - 118кб ( https://mvnrepository.com/artifact/org.aspectj/aspectjrt/1.9.6)
"Легкая" зависимость груви - 7.6мб ( https://mvnrepository.com/artifact/org.codehaus.groovy/groovy/3.0.5)

Я как то на груви не пишу и не планирую. Пожалуй останусь с aspectj

И вы так и не ответили, чем аспекты плохи, а ваше поделие, которые внутри ну очень похоже на обрезанный до 1 функции аспект - это прямо хорошо)
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988763
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch

И вы так и не ответили, чем аспекты плохи, а ваше поделие, которые внутри ну очень похоже на обрезанный до 1 функции аспект - это прямо хорошо)
Так понятно же чем: в gradle типа все круто и можно любой компилятор любого языка прикрутить, однако ajc так никто и не прикрутил - все "плагины", которые есть в наличии просто запускают что-то невнятное в каких-то местах, в результате чего никакой интеграции со средой разработки нет, т.е. в идее жмем Command+Shift+F9, а там на выходе какая-то хрень (если скомпилится конечно) вместо примененных аспектов
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988771
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИ вы так и не ответили, чем аспекты плохи, а ваше поделие, которые внутри ну очень похоже на обрезанный до 1 функции аспект - это прямо хорошо)

Ответил же:
авторПросто аннотировать класс\метод (оба варианта поддерживаются) проще и быстрее чем настраивать advice.

авторТак понятно же чем: в gradle типа все круто и можно любой компилятор любого языка прикрутить, однако ajc так никто и не прикрутил - все "плагины", которые есть в наличии просто запускают что-то невнятное в каких-то местах, в результате чего никакой интеграции со средой разработки нет, т.е. в идее жмем Command+Shift+F9, а там на выходе какая-то хрень (если скомпилится конечно) вместо примененных аспектов
Благодарю. Сам кстати не сталкивался с таким. Но не удивлён. Грэдл такая себе поделка. Поэтому и жду когда Jetbrains сделает что-то по-настоящему полезное (а не Kotlin) - например нормальный сборщик с функционалом Gradle, но в котором понятно что происходит.

авторЯ как то на груви не пишу и не планирую. Пожалуй останусь с aspectj
Ок, тогда кстати можете заюзать рантайм (или сделать похожий) из аспекта, по аналогии как выше я привёл трансформированный код.
Вот рантайм:
https://github.com/INFINITE-TECHNOLOGY/BLACKBOX/blob/master/src/main/groovy/io/infinite/blackbox/BlackBoxRuntime.groovy

Если решите задачу в общем виде - я буду рад использовать это в Java проектах :)
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988807
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
авторИ вы так и не ответили, чем аспекты плохи, а ваше поделие, которые внутри ну очень похоже на обрезанный до 1 функции аспект - это прямо хорошо)


Ответил же:
авторПросто аннотировать класс\метод (оба варианта поддерживаются) проще и быстрее чем настраивать advice.

авторТак понятно же чем: в gradle типа все круто и можно любой компилятор любого языка прикрутить, однако ajc так никто и не прикрутил - все "плагины", которые есть в наличии просто запускают что-то невнятное в каких-то местах, в результате чего никакой интеграции со средой разработки нет, т.е. в идее жмем Command+Shift+F9, а там на выходе какая-то хрень (если скомпилится конечно) вместо примененных аспектов
Благодарю. Сам кстати не сталкивался с таким. Но не удивлён. Грэдл такая себе поделка. Поэтому и жду когда Jetbrains сделает что-то по-настоящему полезное (а не Kotlin) - например нормальный сборщик с функционалом Gradle, но в котором понятно что происходит.

авторЯ как то на груви не пишу и не планирую. Пожалуй останусь с aspectj
Ок, тогда кстати можете заюзать рантайм (или сделать похожий) из аспекта, по аналогии как выше я привёл трансформированный код.
Вот рантайм:
https://github.com/INFINITE-TECHNOLOGY/BLACKBOX/blob/master/src/main/groovy/io/infinite/blackbox/BlackBoxRuntime.groovy

Если решите задачу в общем виде - я буду рад использовать это в Java проектах :)

Вам логирующий аспект написать чтоли?
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988852
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,
Дак вы аргументируйте. Тезис что в веб сервисах не работает ваш?
Какая разница что веб сервис отдает json а не сервис html?
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39988998
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВам логирующий аспект написать чтоли?

Да. Такой чтобы можно было в любой Java проект его легко добавить (без написания или копи-паста кода).

И что бы поддерживал 2 режима (настройка отдельно на уровне каждого класса + уточнение на уровне методов):
1) Логирование вызовов методов (включая аргументы и возвращаемый результат) + исключения (непойманные)
2) Только исключения (непойманные)


авторДак вы аргументируйте. Тезис что в веб сервисах не работает ваш?
Какая разница что веб сервис отдает json а не сервис html?
у меня аргументов нет. Есть поверхностное понимание что Security Manager для песочниц кода и изоляции внешнего пользовательского кода. К Веб безопасности (веб сервисы) никак не относится.

Может я пропустил большой кусок информации, и Security Manager крутое и мощное средство подходящее вместо Spring Security или externalized authorization?
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39989016
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,
Упс. Ты прав.
Спутал я с Spring Security)))
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39989037
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,

мне пока лень (а из текущего проекта не подходит, он у меня дерево вызовов выводит), jcabi-aspects как пример не подойдет?
https://github.com/jcabi/jcabi-aspects
https://aspects.jcabi.com/index.html

Если что они на aspectj построены
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39989042
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тема аспектов - интересная. Но лучше давайте новым топиком.
...
Рейтинг: 0 / 0
Как скрыть варнинг об отсутствии SLF4J логгера
    #39989078
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Тема аспектов - интересная. Но лучше давайте новым топиком.

oki. Всем спасибо за комменты и сорри за оффтопик.
...
Рейтинг: 0 / 0
54 сообщений из 54, показаны все 3 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Как скрыть варнинг об отсутствии SLF4J логгера
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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