通常,我会注入TraceListeners并通过app.config和Web.config调整跟踪级别。我了解IIS将在更新Web.config并完成最后一次HTTP请求后重新启动Web应用程序,并且在创建新实例之前新的HTTP请求将处于暂挂状态。我多年来一直这样做没有问题。
但是,如果我将Web应用程序部署到Azure托管服务,或者我有许多(集群)Web应用程序实例,我不确定是否更新/上传Web.config到每个实例仍然是一个好习惯?是否有一些替代/更好的方法来更改System.Diagnostics.TraceListeners的跟踪级别?
如果我部署到AWS或类似的集群服务,该怎么办?
答案 0 :(得分:1)
你做对了!更新/上传Web.config到每个实例都不错,但可能是繁琐的任务,或容易出错的方法。相反,
建议使用Application Insights,这是一种可扩展的分析服务,可监控您的实时Web应用程序。
只需在应用程序中安装一个小型工具包,然后在Microsoft Azure门户中设置Application Insights资源。
性能影响最小,因为跟踪调用是非阻塞的,并且是批处理的;在一个单独的线程中发送。
遥测类型(例如“来自服务器和客户端的异常跟踪”,“诊断日志跟踪”等)可帮助您了解应用的执行方式及其使用方式。
此外,您还可以对请求,异常,自定义事件,日志跟踪,页面视图,依赖项和AJAX调用的实例执行诊断搜索。
有关详细信息,请阅读:Application Insights - introduction
谢谢,
Kasam Shaikh