Windows Azure Auto Scale应用程序块不起作用,不会打印日志消息

时间:2013-04-26 06:17:52

标签: azure autoscaling azure-autoscaling-block

我在控制台应用程序中实现了Windows Azure Auto Scale应用程序块,它监视性能计数器并将实例添加到Web角色。我也实现了日志记录,但它没有向我显示控制台中的日志,也没有根据规则将新实例添加到Web角色。

并没有给我任何错误......

1 个答案:

答案 0 :(得分:0)

在不知道如何配置应用程序的情况下(特别是app.config和计划文件的内容),我可以做出的最有根据的猜测是app.config缺少<system.diagnostics>中的配置1}}启用从块中记录消息。

简而言之,在您的app.config中,您应该有一个类似于以下内容的部分(取自我的一个示例应用程序):

<system.diagnostics>
  <trace autoflush="true" />
    <sources>
      <source name="Autoscaling General" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch">
        <listeners>
          <add name="FileLog"/>
          <remove name="Default" />
          <!-- Uncomment the below section to write to the Application Event Log -->
          <!--<add name="EventLog"/>-->
        </listeners>
      </source>
      <source name="Autoscaling Updates" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch">
        <listeners>
          <add name="FileLog"/>
          <remove name="Default" />
          <!-- Uncomment the below section to write to the Application Event Log -->
          <!--<add name="EventLog"/>-->
        </listeners>
      </source>
        <!-- This section defines the logging configuration for My.Application.Log -->
        <source name="DefaultSource" switchName="DefaultSwitch">
            <listeners>
                <add name="FileLog"/>
                <!-- Uncomment the below section to write to the Application Event Log -->
                <!--<add name="EventLog"/>-->
            </listeners>
        </source>
    </sources>
    <switches>
        <add name="DefaultSwitch" value="Information"/>
      <add name="SourceSwitch" value="Verbose, Information, Warning, Error, Critical"/>
    </switches>
    <sharedListeners>
        <add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter" location="ExecutableDirectory"/>

        <!-- Uncomment the below section and replace APPLICATION_NAME with the name of your application to write to the Application Event Log -->
        <!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
    </sharedListeners>
</system.diagnostics>

您可以从MSDN找到更多信息。

除了他之外,我记得我必须设置一些断点(如果我正确提醒的话,在Autoscaler.Start上)以便捕获一些配置错误。