Logging
Не хватает одной вещи в log4net, да и вообще в логах - явного отображения иерархии вызовов.
У меня один метод пишет в лог в процессе работы три раза, в промежутках вызывает методы, которые тоже пишут в лог свои данные. Даже с более менее понятными строками для вывода в лог, понять, кто кого вызывает, очень сложно, не наглядно как-то получается. Да еще эта падла работает в двух потоках, одновременно с GUI и звукозаписью, т.е. события приходят и от фонового потока воспроизведения и от виндовских событий, вроде отрисовки или там перемещения курсора.
Вроде бы есть какая-то возможность извратится с дополнительным стеком данных в log4net, но это все вручную, а у меня и так логов в метода чуть ли не больше, чем рабочих вызовов.
У меня один метод пишет в лог в процессе работы три раза, в промежутках вызывает методы, которые тоже пишут в лог свои данные. Даже с более менее понятными строками для вывода в лог, понять, кто кого вызывает, очень сложно, не наглядно как-то получается. Да еще эта падла работает в двух потоках, одновременно с GUI и звукозаписью, т.е. события приходят и от фонового потока воспроизведения и от виндовских событий, вроде отрисовки или там перемещения курсора.
Вроде бы есть какая-то возможность извратится с дополнительным стеком данных в log4net, но это все вручную, а у меня и так логов в метода чуть ли не больше, чем рабочих вызовов.
no subject
no subject
Насчёт стеков вызовов, это плохая идея. Для похожего есть две методы: или в самом сообщении писать, что за класс-метод, или имя логгера подобрать осмысленное. А если например процедура будет рекурсивная, то стек вызовов будет конский и неинформативный. Потом Вам захочется рисовать аргументы. Потом окажется, что аргументы сцуко большие, список списков в мильён строк и пр.шиза.
(no subject)
(no subject)
no subject
(no subject)
(no subject)
(no subject)
no subject
(no subject)
(no subject)