我有:
Trace.WriteLine("info", "category");
贯穿我的工作者角色。在Azure Compute Emulator UI中本地运行时,我可以看到此输出。
是否有相同的输出显示为发布到Azure的相同角色而不将其写入存储?
答案 0 :(得分:5)
DebugView可能有帮助。
答案 1 :(得分:0)
如果远程桌面到主机,您可能会找到它正在使用的文件。这有点令人讨厌,所以我在每台设备上都有一个后台线程,用于将日志消息发送回我的办公室。还有另一个进程将它们转储到我使用LogExpert检查的文件中。 我可以这样做,因为我的所有日志记录都是通过log4net进行的,而不是使用Trace。
答案 2 :(得分:0)
如您所知,在Azure VM上创建了Traces日志,因此如果您想看到自己拥有:
还有另一个选择是在您的辅助角色中打开一个http端口(是的,您确定可以这样做并运行一个非常小的第三方Web服务器将日志直接导出到Web。不建议但仍然是一个选项)
答案 3 :(得分:0)
开箱即用的解决方案有些局限(通常涉及RDP,写入SQL和/或blob存储,或者让第3个进程轮询映像并将日志复制到另一个位置)。但是,没有什么可以阻止您编写通过tcp套接字写入日志条目的自定义跟踪侦听器。
我们非常快速地在我们公司站了起来,在Azure方面将以下内容结合起来:
http://msdn.microsoft.com/en-us/library/ff647545.aspx
http://robjdavey.wordpress.com/2011/02/11/asynchronous-tcp-client-example/
然后你只需要一个可访问的盒子上的一个简单的监听器(你甚至可以使用netcat或其他东西)来获取条目。
答案 4 :(得分:0)
如果您试图获得坐在您旁边的无头机器的输出,那么您拥有所有相同的选项。除了人们在这里提到的所有方法之外,我只想推荐使用Service Bus跟踪监听器。它应该是found in the samples。只需将您的角色连接起来(如果您更复杂一点,可以通过配置将其关闭并打开)并打开本地监听器。根据我的经验,它运行良好,您不必担心防火墙或TCP连接。