【问题标题】:Is uploading / updating Web.config a good way to change trace level of System.Diagnostic tracing?上传/更新 Web.config 是更改 System.Diagnostic 跟踪的跟踪级别的好方法吗?
【发布时间】:2016-09-08 18:41:37
【问题描述】:
一般情况下,我会通过 app.config 和 Web.config 注入 TraceListeners 并调整跟踪级别。而且我知道 IIS 将在更新 Web.config 并完成最后一个 HTTP 请求后重新启动 Web 应用程序,并且在创建新实例之前新的 HTTP 请求将处于挂起状态。多年来我一直这样做没有问题。
但是,如果我将 Web 应用程序部署到 Azure 托管服务,或者我有许多(集群)Web 应用程序实例,我不确定将 Web.config 更新/上传到每个实例是否仍然是一个好习惯?是否有一些替代/更好的方法来更改 System.Diagnostics.TraceListeners 的跟踪级别?
如果我部署到 AWS 或类似的集群服务会怎样?
【问题讨论】:
标签:
c#
asp.net
asp.net-mvc
azure
asp.net-web-api
【解决方案1】:
你没看错!将 Web.config 更新/上传到每个实例还不错,但可能是繁琐的任务,或者容易出错的方法。而是,
建议使用 Application Insights,这是一种可扩展的分析服务,可监控您的实时 Web 应用程序。
只需在您的应用程序中安装一个小型检测包,然后在 Microsoft Azure 门户中设置一个 Application Insights 资源。
性能影响最小,因为跟踪调用是非阻塞的,并且是批处理的;在单独的线程中发送。
“来自服务器和客户端的异常跟踪”、“诊断日志跟踪”等遥测类型可帮助您了解应用的执行情况和使用情况。
您还可以对请求、异常、自定义事件、日志跟踪、页面视图、依赖项和 AJAX 调用的实例执行诊断搜索。
更多信息请阅读:Application Insights - introduction
谢谢,
卡萨姆·谢赫