Size: a a a

2021 May 27

OB

Oleg B in dlang.ru
чёт какая-то ерунда...
источник

EP

Egor Pugin in dlang.ru
ну никаких проблем, можно посмотреть архитектуру boost.log. Там есть разные бекенды, сурсы, синки
источник

EP

Egor Pugin in dlang.ru
https://github.com/SoftwareNetwork/sw/blob/master/src/sw/client/gui/logwindow.h#L10
вот у меня пример с кастомным бекендом, чтобы в гуишку лог всей программы дублировался
источник

KF

Konstantin Firsov in dlang.ru
А причем он тут? Тут задача - переложить на юзера часть тестирования проги и нахождения в ней ошибок. Предупреждение об ошибках не должно никак влиять на работу с прогой, поскольку оно может не затрагивать критическую логику и нужно уведомлять о старых ошибках, при этом оставляя прогу работоспособной. Смотреть\отправлять\копировать удобнее всего текстовый файл, поэтому сохранять инфу об ошибках в той же бд ни разу не вариант. При этом уровень ошибки тонко зависит от от характера и степени отказа, из окна "о программе" может прилететь самая критичная ошибка, в контексте этого окна - это ошибка, в контексте всей проги - это ерунда, с прогой можно работать и дальше.
источник

KF

Konstantin Firsov in dlang.ru
спасибо, посмотрю.
источник

DH

Dark Hole in dlang.ru
Ошибка в проге = loglevel error ну или fatal или что там тебе захочется. Зачем для этого парсить логи?
источник

EP

Egor Pugin in dlang.ru
а если логов очень много, надо по ним делать аналитику, то там вплоть до субд специализированных под это есть
источник

DH

Dark Hole in dlang.ru
Не в прикладном приложении же
источник

DH

Dark Hole in dlang.ru
Если хочется аналитику — надо их собирать централизовано
источник

KF

Konstantin Firsov in dlang.ru
ну она же идет в журнал, логируется, как о ней напомнить при следующем запуске?
источник

DH

Dark Hole in dlang.ru
Вести лог критических ошибок отдельным файлом. Условно как в апаче — error.log и ещё какой-то лог со всем остальным
источник

KF

Konstantin Firsov in dlang.ru
хорошо, тогда мне нужно будет проверять error.log пустой он или нет. Если не пустой - выводить сообщение, если пустой - все ок. Но если он будет не пустой, то за счет того, что там только определенный левел, то мне нужно брать какую-то тулзу и объединять журналы по времени, чтобы примерно понять относимость записей с другими левелами к ошибке, а если писать туда разные левела, то это обычный журнал. Еще разделение логов усложняет работу с ними через гуи, в случае одного файла - это всего лишь одно окно, в случае нескольких - это переключатель журналов, несколько окон и т.п.  Конечно, у каждого решения есть свои плюсы и минусы, но для моего кейса в разделении логов больше минусов.
источник

DH

Dark Hole in dlang.ru
А ты не можешь одновременно писать в разные файлы с разным логлевелом?
источник

KF

Konstantin Firsov in dlang.ru
конечно же могу. Я могу, например, каждый уровень лога писать в отдельный журнал, но как мне потом восстановить происходящее в проге, например, по времени знать, что перед ошибкой был зарепорчен вот этот info, нужно же логи как-то\чем-то объединять?
источник

DH

Dark Hole in dlang.ru
Ты не понял. Пишешь в один файл все логи, а в другой — только loglevel >= critical. Условно. Первый смотришь сам, второй показываешь пользователю ¯\_(ツ)_/¯.
источник

SG

Serg Gini in dlang.ru
Очнулись.. сначала всё что надо и не надо перевели на Электрон, ЖС и Питон.. а теперь фонд вон создать решили... лицемеры хреновы
источник

SG

Serg Gini in dlang.ru
Microsoft, Accenture и Goldman Sachs создают фонд для разработки неэнергоемкого софта

источник: forbes.ru
источник

DH

Dark Hole in dlang.ru
Почему лицемеры?
источник

SG

Serg Gini in dlang.ru
А, при чем тут Ди - в одной из работ посвящённой этой теме, Ди был на первом месте :) правда статья вроде 2018 года была...
И если смотреть тот же бенчмарк Кости, там Ди достаточно высоко, но не первый уже
источник

KF

Konstantin Firsov in dlang.ru
если что-то продублировать, то между ними нужна синхронизация. Например, очистка лога. В проге светится индикатор, я открываю лог в журнале или в окне, вижу, что ошибки такие себе и нажимаю "очистить лог". Если показывается только лог ошибок, то он очищается, но при таком подходе дублированных логов эти ошибки остаются в основном логе и они там не нужны, молча очистить основной тоже нельзя, поскольку он не показывается и там может быть важная инфа кроме ошибок.
источник