查看工作者角色跟踪行和日志文件

时间:2012-05-06 13:04:45

标签: c# logging azure cloud azure-worker-roles

我有.Net辅助角色(Azure),我的应用程序以这种形式写入本地日志文件:

StreamWriter sw = File.AppendText("aaa.log");
sw.WriteLine("Error occured"");
sw.Close();

如何查看此日志文件?

1 个答案:

答案 0 :(得分:5)

以下是您提出的上述问题的直接答案:

  • 如果您只是从模板创建一个空白的Windows Azure辅助角色,并在OnStart()函数中完全添加上面的代码,然后在Compute Emulator中测试您的应用程序:

    public override bool OnStart()
    {
        // Set the maximum number of concurrent connections 
        ServicePointManager.DefaultConnectionLimit = 12;
        StreamWriter sw = File.AppendText("aaa.log");
        sw.WriteLine("Error occured");
        sw.Close();
    
        return base.OnStart();
    }
    
  • 您将在下面的位置看到aaa.log文件,您可以匹配文件夹详细信息,因为我的测试应用程序名称是“TestWorkerRole”:

    _your_drive_and_Folder_path \ TestWorkerRole \ TestWorkerRole \ CSX \调试\角色\ WorkerRole1 \为approot \ aaa.log

  • 我还可以验证它是否还有“Error occurred”文本,因此代码按照预期执行。

  • 当您将完全相同的应用程序部署到Windows Azure时,代码将运行,您将在以下位置找到相同的aaa.log文件:

    E:\为approot \ BIN

上述方法是否正确,不是全部,由于以下主要原因,您不得使用它:

  • Windows Azure VM不会保留,因此您创建的任何内容可能以后都无法使用,因此您必须有办法移动数据
  • Windows Azure提供了一种在应用程序中添加诊断的特定方法,其中所有日志都创建在Windows Azure VM中的特定固定位置,然后基于您的设置(Azure存储和传输日志的时间)这些日志是从Azure VM转移到Windows Azure存储。
  • 您必须使用Windows Azure诊断方法添加以下链接中描述的任何自定义日志方法:

http://msdn.microsoft.com/en-us/library/hh180875.aspx