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

Логи

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

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

[personal profile] leotsarev 2015-12-18 02:00 pm (UTC)(link)
Тем же лог4нет делаем так: еррорные логи лежат за годы, инфошные за недели, дебажные за дни.

[identity profile] metaclass.livejournal.com 2015-12-18 02:50 pm (UTC)(link)
Я просто по размеру ограничиваю все кроме error.
На клиентах до 10 мег, на сервере до 100 мег.

[personal profile] leotsarev 2015-12-18 02:51 pm (UTC)(link)
Они по размеру ограничены, я результат говорю