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

Логи

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

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

[identity profile] henu3detb.livejournal.com 2015-12-18 10:55 am (UTC)(link)
Поставил дебаг для всего, погрепал, вернул в ворн.
Чота я не вижу проблемы.

[identity profile] metaclass.livejournal.com 2015-12-18 11:25 am (UTC)(link)
дебаг для всего + лимиты на размер логов - информация за час уходит в никуда.

[identity profile] berezovsky.livejournal.com 2015-12-18 11:33 am (UTC)(link)
можно периодически паковать и складывать на удалённый сервер

[identity profile] henu3detb.livejournal.com 2015-12-18 12:06 pm (UTC)(link)
или агрегаторы логов

[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)
Они по размеру ограничены, я результат говорю