在Azure中配置common.logging

时间:2012-09-03 08:00:45

标签: azure common.logging

我正在开发一款应用。使用Common.Logging(http://netcommon.sourceforge.net/index.html)。 简化的日志记录配置(在web.config中完成)如下:

<configuration>
   ...
   <arg key="configType" value="FILE" />
   <arg key="configFile" value="NLog.config" />
   ...
</configuration> 

正如您在此处所看到的,配置指向后端日志记录框架的另一个配置文件(此处为NLog.config)。

我的问题是:在Azure中部署时,我应该在这里指定什么路径(在开发时,在构建解决方案时复制NLog.config,并将其放在bin目录中)。换句话说,获取在Azure中部署应用程序的物理位置的SAFEST方法是什么?

提前致谢!

1 个答案:

答案 0 :(得分:2)

在代码中,您可以使用Server.MapPath("/")找到应用程序的当前路径。现在,您只需确保将 NLog.config 文件部署到应用程序文件夹:

  1. 将NLog.config添加到项目中(在Web应用程序的根目录中)
  2. 将构建操作更改为内容
  3. 要对此进行测试,您可以右键单击Azure项目,然后选择。在Azure项目的 bin \ Release | Debug \ app.publish 文件夹中,您将找到 *。cspkg 文件。将.zip扩展名添加到此文件并使用WinRAR / ZIP / 7zip / ...打开文件然后你会看到一个类似这样的文件: SomeWebRole_1a91f39a-49b7-4ece-873f-862172a2fa06.cssx 。再次,将.zip扩展名添加到此文件并打开它。

    如果您导航到 sitesroot \ 0 文件夹,您将在IIS中看到Web应用程序的文件,包括NLog.config文件。这样,您只需在Common.Logging设置中引用NLog.config文件:

    enter image description here