Size: a a a

2020 February 14

GB

George Bakhtadze in Delphi & Lazarus
Alexander Ivanov
1. Логирование внутри потока и параллельное отображение данных для каждого потока
2. Расширенное отображение нестандартных форматов данных. Хотя бы в Json есть поля с сжатием, в логгере хотелось бы на лету разжимать по запросу.
3. Ведение параллельных ветвей. Сейчас логгер обычно последовательно отображает данные.
4. Элементы тестирования.
5. Хранение истории изменений переменных
6. Возможно что-то типа получения дампа переменных как у груви сделано.
ниче не понял :)
1. это что значит? логирование и так внутри. какое такое параллельное отображение?
2. это дело не логера. дело логера залогировать что дадут. если тебе надо что-то разжимать, пропусти через соотв. функцию/класс
3. данные отображаются потоково в файл либо на консоль или что-то подобное. какие ветви? при отображении уже можно и ветви и все остальное сделать. см kibana
4. логер-то тут причем?
5. см выше 😳
6. не только лишь все знают кто такой груви и что там с логами. скорее всего тоже что-то левое по отношению к логеру.
собственно к логеру требования есть?
источник

SB

Sergey Bodrov in Delphi & Lazarus
Дамп в текст переменных делается очень просто - через всеядный Write(). Будет время - прикручу к своему логеру.
источник

SB

Sergey Bodrov in Delphi & Lazarus
Принцип простой, назначаются глобальные переменные LogError, LogWarning которые имеют тип TextFile и ассоциированы с логером. Для записи в лог пишем Write(LogWarning, тут, через, запятые, любые, переменные);
источник

SB

Sergey Bodrov in Delphi & Lazarus
По сути TextFile это структура, в которой есть назначаемые функции (события) записи и чтения строк. То есть можно через нее писать текст куда угодно, не только в файлы.
источник

N

Nik in Delphi & Lazarus
вот именно такой простоты и хочется избежать
источник

N

Nik in Delphi & Lazarus
эта простота так хардкодит код, что потом ни вправо, ни влево отступить возможности нет
источник

N

Nik in Delphi & Lazarus
это одна из основных претензий к существующим логгерам
источник

SB

Sergey Bodrov in Delphi & Lazarus
А как надо?
источник

N

Nik in Delphi & Lazarus
надо чтобы было гибко, удобно и применимо в максимально возможном количестве случаев
источник

N

Nik in Delphi & Lazarus
в гуи-приложения, в сервисах, в длл-ках, в потоках и т.д. и т.п.
источник

N

Nik in Delphi & Lazarus
по возможности кроссплатформенно
источник

SB

Sergey Bodrov in Delphi & Lazarus
Может примерчик на пару строк?
источник

N

Nik in Delphi & Lazarus
какие пару строк?
источник

N

Nik in Delphi & Lazarus
у меня есть опыт использования своего единого логгера и в приложении, и загружаемых длл.. и в потоках внутри сервиса..
источник

N

Nik in Delphi & Lazarus
но у него минус - только в файл логи выдаёт
источник

SB

Sergey Bodrov in Delphi & Lazarus
Поделитесь опытом.
источник

N

Nik in Delphi & Lazarus
буду новый писать
источник
2020 February 15

SB

Sergey Bodrov in Delphi & Lazarus
Помощь нужна? У меня есть простой и надёжный логгер по стандарту RFC 5424
источник

N

Nik in Delphi & Lazarus
как один из вариантов сохранения - может быть
источник

AS

Alexey Shumkin in Delphi & Lazarus
Nik
надо чтобы было гибко, удобно и применимо в максимально возможном количестве случаев
Чтобы было гибко, и удобно, надо делать не реализацию, а абстракцию.
А реализации уже могут быть разные.
Впрочем, проще посмотреть  на уже существующие решения в других ЯП и системах.
Log4j мне представляется вполне себе гибким
Вона Сергей говорит про syslog, которому сто лет уже....
А вы всё велосипедите  :))
источник