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

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

Касательно второго теста - там ошибка не в truncation, строка содержит данные от нескольких потоков.
Т.к. 1 общий файл настроен.

Наверное всё таки придётся добавить synchronized(file) в store...

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

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

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

Капец какой-то. Вот ты Windows используешь. И тестишь на нем своего Толстого-Робина
(отдельный вопрос почему ибо не энтерпрайзно. но потом спрошу) но хоть раз заглядывал
в самое крупное хранилище настрек Windows. А именно в Windows-registry?


Что значит не ентерпрайзно? Зачем какие-то предосуждения?
Всё в CI, Travis CI, автоматизированные билды, snapshots.

https://travis-ci.com/INFINITE-TECHNOLOGY/BOBBIN

Не разобрались и уже негативные предрассудки.

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

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

Капец какой-то. Вот ты Windows используешь. И тестишь на нем своего Толстого-Робина
(отдельный вопрос почему ибо не энтерпрайзно. но потом спрошу) но хоть раз заглядывал
в самое крупное хранилище настрек Windows. А именно в Windows-registry?


Что значит не ентерпрайзно? Зачем какие-то предосуждения?
Всё в CI, Travis CI, автоматизированные билды, snapshots.

https://travis-ci.com/INFINITE-TECHNOLOGY/BOBBIN

Не разобрались и уже негативные предрассудки.

Насчёт Windows registry - стараюсь туда не заглядывать, в эту помойку.

Ну вот загляни. Там - нет кода. Ну 99.99% нет.
Просто концепция такая. И слава богу что нет.
Когда появится код - сопровождать систему станет на порядки сложно.
Потому что покорректировать параметр с 5 на 10 стоит одних человеческих усилий.
А просмотреть SPEL/MVEL или любой другой сниппет - уже можешь подряжать
в работу разаработчика.

А доказательтво правоты кода - вообще отдельная история. Об этом еще Гильберт
писал. О полноте...
7 авг 19, 15:33    [21943899]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 1375
dakeiras
Нет разницы между конфигом и кодом.
прикольно).
Вот оно - ФП.
7 авг 19, 15:34    [21943900]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
Lelouch
Member

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

Посмотрев ваш PR, хотелось бы уточнить - как вы поняли проблему теста TestIOExceptionOnLog?
7 авг 19, 15:35    [21943903]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
Lelouch
Member

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

Касательно второго теста - там ошибка не в truncation, строка содержит данные от нескольких потоков.
Т.к. 1 общий файл настроен.

Наверное всё таки придётся добавить synchronized(file) в store...

Сейчас подумаю.

А где я написал что ошибка в truncation ??? Цитату пожалуйста. Ошибка в смешивании содержимого
7 авг 19, 15:36    [21943905]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
PetroNotC Sharp
dakeiras
Нет разницы между конфигом и кодом.
прикольно).
Вот оно - ФП.

(морщится)

Нет. Это не ФП. Это просто перенос complexity с одной части кода в другую.

У ФП есть конкретный перечень признаков. Кажется профессор Душкин
писал в своей книге задачи и проблемы которые конкретно решает ФП.

То что делает автор к ФП не отностится.
7 авг 19, 15:39    [21943910]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

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

Касательно второго теста - там ошибка не в truncation, строка содержит данные от нескольких потоков.
Т.к. 1 общий файл настроен.

Наверное всё таки придётся добавить synchronized(file) в store...

Сейчас подумаю.

А где я написал что ошибка в truncation ??? Цитату пожалуйста. Ошибка в смешивании содержимого


Сорян, не так понял.

Это очень крутой баг Вы нашли.

Большое спасибо.

Сейчас исправлю.

Думаю сделать синхронизацию по canonicalName файла (строке).
7 авг 19, 15:47    [21943917]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

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

Посмотрев ваш PR, хотелось бы уточнить - как вы поняли проблему теста TestIOExceptionOnLog?


Если диск переполняется или неправильные настройки Бобины (она не инициализируется), Вы бы хотели чтобы всё работало дальше - если Логгер не пашет.

Правильно понял Вас?
7 авг 19, 15:49    [21943918]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
PetroNotC Sharp
Member

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

Ок. Раз названия нету, назовем это конфигуразмом. Когда вместо программирования выносим в конфиг.
7 авг 19, 15:51    [21943920]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

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


Что значит не ентерпрайзно? Зачем какие-то предосуждения?
Всё в CI, Travis CI, автоматизированные билды, snapshots.

https://travis-ci.com/INFINITE-TECHNOLOGY/BOBBIN

Не разобрались и уже негативные предрассудки.

Насчёт Windows registry - стараюсь туда не заглядывать, в эту помойку.

Ну вот загляни. Там - нет кода. Ну 99.99% нет.
Просто концепция такая. И слава богу что нет.
Когда появится код - сопровождать систему станет на порядки сложно.
Потому что покорректировать параметр с 5 на 10 стоит одних человеческих усилий.
А просмотреть SPEL/MVEL или любой другой сниппет - уже можешь подряжать
в работу разаработчика.

А доказательтво правоты кода - вообще отдельная история. Об этом еще Гильберт
писал. О полноте...


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

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

Ок. Раз названия нету, назовем это конфигуразмом. Когда вместо программирования выносим в конфиг.


Нет. Декларативное XML программирование (logback.xml) переносится в императивное программирование Groovy (Bobbin.json).

Пример:
автор
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>


Вы считаете что это удобно?
7 авг 19, 15:58    [21943926]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
PetroNotC Sharp
mayton,

Ок. Раз названия нету, назовем это конфигуразмом. Когда вместо программирования выносим в конфиг.

Я помню что ребят из поддержки 1С часто назыли "конфигурастами".

Им обидно наверное было...
7 авг 19, 16:00    [21943927]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
Basil A. Sidorov
Member

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

Это очередная "гениальная" фича в Logback - супрессить ошибки в логгере.
Как человек, который более шести лет отработал в техподдержке региональной информационной системы, могу ответственно заявить, что с таким подходом вас примут только такие маргиналы, как и вы сами.
Задача любой системы - обслуживать пользователей. Протоколирование ошибок - всего лишь приятный бонус для разработчика. Но, тем, кто эксплуатирует систему, в достаточной степени наплевать на ваше (разработчика) удобство.
7 авг 19, 16:00    [21943928]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
Log4j2 (текущих версий) конфигурится "ямлом".

https://logging.apache.org/log4j/2.x/manual/configuration.html

Достаточно лаконично. Тоесть лаконично настолько чтобы вообще не думать даже о какой-либо минимизации конфигов.
7 авг 19, 16:02    [21943929]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9288
mayton
dakeiras
Насчёт Windows registry - стараюсь туда не заглядывать, в эту помойку.
Ну вот загляни. Там - нет кода. Ну 99.99% нет.
Вот-вот
Один вариантов сохранения "бестелесых" вирусов - хранение кода в реестре.
7 авг 19, 16:03    [21943931]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
Basil A. Sidorov
mayton
пропущено...
Ну вот загляни. Там - нет кода. Ну 99.99% нет.
Вот-вот
Один вариантов сохранения "бестелесых" вирусов - хранение кода в реестре.

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

А антивирус ищет даже не это тело а сам бут-страппер который должен это тело найти
и раскрутить дальше.

Помните RARJpeg и картинки с котиками где страшным водяным знаком прошито туловище
какого-нить wanna-cry или васи-вымогателя.
7 авг 19, 16:07    [21943937]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

Откуда:
Сообщений: 294
[quot Basil A. Sidorov]
dakeiras
Протоколирование ошибок - всего лишь приятный бонус для разработчика.


К сообщению приложен файл. Размер - 4Kb
7 авг 19, 16:10    [21943944]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

Откуда:
Сообщений: 294
mayton
Log4j2 (текущих версий) конфигурится "ямлом".

https://logging.apache.org/log4j/2.x/manual/configuration.html

Достаточно лаконично. Тоесть лаконично настолько чтобы вообще не думать даже о какой-либо минимизации конфигов.


А ну раз ямлом - то заебись! Пойду напишу вручную ямл на пару страниц.
И потом умру тихо.
7 авг 19, 16:11    [21943947]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 1375
mayton
PetroNotC Sharp
mayton,

Ок. Раз названия нету, назовем это конфигуразмом. Когда вместо программирования выносим в конфиг.

Я помню что ребят из поддержки 1С часто назыли "конфигурастами".

Им обидно наверное было...
да, называли)). Пусть относятся к этому с юмором.
У нас тоже, декларативное программирование это конфигуразм.
))
7 авг 19, 16:13    [21943949]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

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

Пофиксил перемешивание данных.

Сейчас выложу версию.
7 авг 19, 16:20    [21943956]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
dakeiras
mayton
Log4j2 (текущих версий) конфигурится "ямлом".

https://logging.apache.org/log4j/2.x/manual/configuration.html

Достаточно лаконично. Тоесть лаконично настолько чтобы вообще не думать даже о какой-либо минимизации конфигов.


А ну раз ямлом - то заебись! Пойду напишу вручную ямл на пару страниц.
И потом умру тихо.

Я так и не дождался образца твоего конфига.
7 авг 19, 16:25    [21943961]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
mayton
Member

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

Я помню что ребят из поддержки 1С часто назыли "конфигурастами".

Им обидно наверное было...
да, называли)). Пусть относятся к этому с юмором.
У нас тоже, декларативное программирование это конфигуразм.
))

Язык Пролог - декларативен почти совсем. И ничо. Работает в своем сегменте.
7 авг 19, 16:27    [21943965]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
dakeiras
Member

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


А ну раз ямлом - то заебись! Пойду напишу вручную ямл на пару страниц.
И потом умру тихо.

Я так и не дождался образца твоего конфига.


<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="InfiniteDebug" class="ch.qos.logback.classic.sift.SiftingAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>DEBUG</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <discriminator>
            <key>automaticThreadName</key>
            <defaultValue>Unnamed Thread</defaultValue>
        </discriminator>
        <sift>
            <appender name="${automaticThreadName}" class="ch.qos.logback.core.rolling.RollingFileAppender">
                <file>./LOGS/${automaticThreadName}/DEBUG/${automaticThreadName}_DEBUG_TODAY.log</file>
                <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                    <Pattern>%d{yyyy-MM-dd HH:mm:ss}:%level:%thread:%logger:%msg%n</Pattern>
                </encoder>
                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                    <FileNamePattern>./LOGS/${automaticThreadName}/DEBUG/ARCHIVE/%d{yyyyMMdd, aux}/${automaticThreadName}_%d{yyyyMMdd}_DEBUG.zip</FileNamePattern>
                </rollingPolicy>
            </appender>
        </sift>
    </appender>
    <appender name="InfiniteInfo" class="ch.qos.logback.classic.sift.SiftingAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <discriminator>
            <key>automaticThreadName</key>
            <defaultValue>Unnamed Thread</defaultValue>
        </discriminator>
        <sift>
            <appender name="${automaticThreadName}" class="ch.qos.logback.core.rolling.RollingFileAppender">
                <file>./LOGS/${automaticThreadName}/INFO/${automaticThreadName}_INFO_TODAY.log</file>
                <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                    <Pattern>%d{yyyy-MM-dd HH:mm:ss}:%level:%thread:%logger:%msg%n</Pattern>
                </encoder>
                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                    <FileNamePattern>./LOGS/${automaticThreadName}/INFO/ARCHIVE/%d{yyyyMMdd, aux}/${automaticThreadName}_%d{yyyyMMdd}_INFO.zip</FileNamePattern>
                </rollingPolicy>
            </appender>
        </sift>
    </appender>
    <appender name="InfiniteWarn" class="ch.qos.logback.classic.sift.SiftingAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>WARN</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <discriminator>
            <key>automaticThreadName</key>
            <defaultValue>Unnamed Thread</defaultValue>
        </discriminator>
        <sift>
            <appender name="${automaticThreadName}" class="ch.qos.logback.core.rolling.RollingFileAppender">
                <file>./LOGS/${automaticThreadName}/WARN/${automaticThreadName}_WARN_TODAY.log</file>
                <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                    <Pattern>%d{yyyy-MM-dd HH:mm:ss}:%level:%thread:%logger:%msg%n</Pattern>
                </encoder>
                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                    <FileNamePattern>./LOGS/${automaticThreadName}/WARN/ARCHIVE/%d{yyyyMMdd, aux}/${automaticThreadName}_%d{yyyyMMdd}_WARN.zip</FileNamePattern>
                </rollingPolicy>
            </appender>
        </sift>
    </appender>
    <appender name="InfiniteError" class="ch.qos.logback.classic.sift.SiftingAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <discriminator>
            <key>automaticThreadName</key>
            <defaultValue>Unnamed Thread</defaultValue>
        </discriminator>
        <sift>
            <appender name="DEBUG_${automaticThreadName}" class="ch.qos.logback.core.rolling.RollingFileAppender">
                <file>./LOGS/${automaticThreadName}/ERROR/${automaticThreadName}_ERROR_TODAY.log</file>
                <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                    <Pattern>%d{yyyy-MM-dd HH:mm:ss}:%level:%thread:%logger:%msg%n</Pattern>
                </encoder>
                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                    <FileNamePattern>./LOGS/${automaticThreadName}/ERROR/ARCHIVE/%d{yyyyMMdd, aux}/${automaticThreadName}_%d{yyyyMMdd}_ERROR.zip</FileNamePattern>
                </rollingPolicy>
            </appender>
        </sift>
    </appender>
    <appender name="System.out" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss}:%level:%thread:%logger:%msg%n</Pattern>
        </encoder>
    </appender>
    <logger name="io.infinite" level="debug" additivity="false">
        <appender-ref ref="InfiniteDebug"/>
        <appender-ref ref="InfiniteInfo"/>
        <appender-ref ref="InfiniteWarn"/>
        <appender-ref ref="InfiniteError"/>
    </logger>
    <root level="info">
        <appender-ref ref="System.out"/>
    </root>
</configuration>
7 авг 19, 16:35    [21943976]     Ответить | Цитировать Сообщить модератору
 Re: Новый альтернативный Slf4j логгер Бобина  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 1375
dakeiras,
А теперь рядом минимальный с логами default.
7 авг 19, 16:48    [21943990]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 [7] 8 9 10 11   вперед  Ctrl      все
Все форумы / Java Ответить