Понял вас, резон есть. Добавлю только, что мы подобное тоже практикуем и производительность в жопе. Возможно, конечно, все дело в реализации, но дисковые операции существенно тормозят пайплайн.
В плагинах еще можно извернуться и держать статичный логгер в теле класса, но как быть с WFA? Активности создаются и разрушаются, всякий раз при инстанцировании процесса, поэтому каждая операция должна быть записана здесь и сейчас...
Как вариант, я предложил бы вам сделать кастомную логирующую активность и звать из кода именно ее. В этом случае, думаю, получится сделать эффективную асинхронную выгрузку в файл, с минимальным влиянием на пайплайн. Из дополнительных плюсов:
- Не придется ничего мержить в основные сборки
- Они могут работать в песочнице, так как не нужен доступ к файловой системе, или БД
- Вы можете централизованно управлять реализацией логирования, его глубиной и т.д.