我正在转储我的Web应用程序尝试捕获异常错误跟踪消息到Web服务器上的C:\ Temp文件夹 但是,当我的webapp在azure上时,我期待在azure VM c:\ Temp文件夹中看到它们,但是我收到一条错误消息,提示访问路径C:\ temp denied。如何将错误日志写入文本文件,保存到azure VM的C:\ Temp?或者这对天蓝色不可能吗? 任何替代方案。
答案 0 :(得分:2)
您使用的是Azure Web角色,Azure Virtual Mashines还是Azure WebSites?我假设Azure Web角色(a.k.a. Cloud Service)。
如果是这种情况,您需要为您的WebRole使用Local Storage resource。然后,您可以使用Windows Azure Diagnostics偶尔将日志传输到blob存储。您需要来自Diagnostics.Wadcfg的部分是<DataSources>
元素,其子元素<DirectoryConfiguration>
可以包含<LocalResource>
类型的子元素。前者的属性name
指向您为WebRole配置的本地存储资源。
如果是虚拟机的情况 - 您没有任何问题,因为您拥有完全的管理员访问权限,并且您可以在该计算机上配置ACL的任何方面。
如果是Azure WebSites - 请勿写入C:\ TEMP,而是为Web应用程序文件夹创建一个本地文件,然后使用Server.MapPath("~/local.logs/somelog.txt");