登录Azure

时间:2014-09-17 23:10:39

标签: azure log4net

我们如何以粒度和范围登录Azure?控制相当于log4net?我们在IIS上运行的网络应用程序中使用log4net,这对我们非常有用。这也是Azure上最好的吗?

我们绝对更喜欢日志文件(as opposed to database entries),但如果在Azure中有更好的效果,我会接受改进。 Trace写入Azure中的表格的方式非常糟糕 - 我们绝对不会那么想。

我更喜欢日志文件的原因是很容易看到序列中发生的事情,这是我99%的时间所需要的。

这适用于具有多个实例的Azure Web应用程序。如果日志与每个实例不同,那就没问题了。

谢谢 - 戴夫

3 个答案:

答案 0 :(得分:11)

这很简单。我使用以下log4net配置将日志文件转储到Web应用程序根文件夹中(很容易更改为子文件夹):

<log4net>
  <root>
    <level value="DEBUG" />
    <appender-ref ref="LogFileAppender" />
  </root>
  <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
    <param name="File" value="my_web.log" />
    <param name="AppendToFile" value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="10MB" />
    <staticLogFileName value="true" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%date{yyyy-dd-MM HH:mm:ss.fff} [%thread] %-5level %logger.%method [%property{NDC}] - %message%newline" />
    </layout>
  </appender>
</log4net>

然后我直接从Visual Studio检查日志文件(双击文件下载它)服务器资源管理器:

Azure Website via Server Explorer

答案 1 :(得分:11)

我认为在Azure中本地存储日志文件时应该小心,因为这样做并不能保证。用于存储网站的VM可能会被重新映像,日志将丢失。

更好的解决方案是将Azure诊断与log4net结合使用(对于其他日志记录机制(如NLog)也是如此)。流程在这里是sumarrized:

  1. 将本地存储设置为写入日志文件的角色实例(虚拟机)上的位置。

  2. 向diagnostics.wadcfg文件添加元素,以指示Azure诊断程序在blob存储中创建和使用容器。

  3. 在其中添加元素以指示Azure诊断程序监视LogStorage本地资源位置中的日志记录文件夹。

  4. 这样,本地存储的日志将被复制到blob存储。

    全文:http://justazure.com/microsoft-azure-diagnostics-part-1-introduction/

答案 2 :(得分:1)

记录Azure VM或云服务数据的最佳方法是使用Log4Net登录磁盘以及将所有实例的日志信息记录到Azure存储帐户。优点是您将获得更强大的解决方案。如果由于某种原因,Azure诊断程序在实时站点中中断,您仍然可以远程访问任何实例并尝试诊断问题。对于其他服务,例如Web应用程序,您无法远程访问实例,只需将信息记录到Azure存储帐户即可。

  1. 登录磁盘:如果您拥有云服务,则您的网络角色/工作人员角色只有权写入应用程序磁盘,该磁盘非常小,如here所示{ {3}}。如果您对记录不超过200-300 MB的磁盘空间感到满意,那么您就是好的。但是,如果您想记录更多,那么最好使用 LocalStorage 的概念,这将允许您在具有大量空间的C驱动器上保留空间(对于Small PaaS VM)驱动器C大致有225 GB,而应用程序驱动器(E:/ F :)有1.5 GB的空间)。您可以了解如何使用本地存储here
  2. 登录Azure存储帐户:您需要按所示here激活Azure诊断程序。此外,您必须向Log4Net添加Trace Appender,如here所示。
  3. 设置和测试需要半天或一天,但我希望能回答您的问题。