Настроить общий.лог в 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 развернут в папке приложения:
- Добавьте NLog.config в ваш проект (в корне вашего веб-приложения)
- Измените Действие Построить на Контент
Чтобы проверить это, щелкните правой кнопкой мыши свой проект 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: