Настроить общий.лог в Azure

Я разрабатываю приложение. используя 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 какой путь мне следует указать здесь (в dev файл NLog.config копируется при сборке решения и помещается в каталог bin). Другими словами, каким был бы БЕЗОПАСНЫЙ способ получить физическое место, где приложение развернуто в Azure?

Заранее спасибо!

1 ответ

Решение

В коде вы можете найти текущий путь к приложению, используя Server.MapPath("/"), Теперь вы можете просто убедиться, что файл NLog.config развернут в папке приложения:

  1. Добавьте NLog.config в ваш проект (в корне вашего веб-приложения)
  2. Измените Действие Построить на Контент

Чтобы проверить это, щелкните правой кнопкой мыши свой проект Azure и выберите " Пакет". В папке bin\Release|Debug\app.publish вашего проекта Azure вы найдете файл *.cspkg. Добавьте расширение.zip к этому файлу и откройте файл с помощью WinRAR/ZIP/7zip/... Тогда вы увидите такой файл: SomeWebRole_1a91f39a-49b7-4ece-873f-862172a2fa06.cssx. Здесь снова добавьте расширение.zip к этому файлу и откройте его.

Если вы перейдете в папку sitesroot\0, вы увидите файлы веб-приложения в IIS, включая файл NLog.config. Таким образом, вы можете просто ссылаться на файл NLog.config в настройках Common.Logging:

Другие вопросы по тегам