metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2015-12-18 01:20 pm

Логи

Я пришел к выводу, что осмысленно выбрать уровни логов (log4j, log4net) в вызовах внутри программы при разработке невозможно.
Всегда возникнет ситуация, в которой конкретно вот сейчас, без перезагрузки сервиса надо сменить уровень лога в данном конкретном методе.
Делать отдельные логгеры на каждый чих и конфигурировать их - это адский комбинаторный взрыв, конфиги становятся нечитабельными, когда там в xml пытаются засунуть то, что должно быть матрицей M(логгеров)*N(аппендеров), а еще лучше такой же матрицей, только с иерархией (общий, группа логгеров, логгер) по одной оси и аналогично для аппендеров по другой.

Кажется, надо просто логи складывать в очереди и фильтровать их по уровням не на этапе создания, а на этапе чтения. Возможно, разве что уберотладочные на каждую букву в каком-нибудь парсере с конечным автоматом отсеивать, и то не факт.

[identity profile] gineer.livejournal.com 2015-12-18 12:50 pm (UTC)(link)
и по идее большую часть из этого можно кешировать/препроцесить... или вообще, хранить вместе с дебажной информацией?

[identity profile] metaclass.livejournal.com 2015-12-18 01:44 pm (UTC)(link)
Внятных способов не знаю.
А вообще очень сильно не помешало бы - ссылаться из лога прямо на место в *.pdb, да еще и с областями памяти локальных переменных.