簡體   English   中英

使用log4net進行Web.config轉換

[英]Web.config transformation with log4net

在本地調試配置中,我要登錄txt文件。 是工作。 登錄到Azure Blob存儲也可以正常工作。 但是我想配置第二個僅在“ Azure調試”配置上工作。

我已經在web.debug.azure.config中創建了簡單的轉換。

-> Web.config的

<log4net debug="true">
<root>
  <level value="Info" />
  <appender-ref ref="Appender"/>
</root>
<appender name="Appender" type="log4net.Appender.RollingFileAppender" >
 // Configuration stuff
</appender>

並設置為“調試”構建配置。 在構建“ Azure調試”時,我想用它替換“”:-> Web.Debug.Azure.config

 <appender xdt:Transform="Replace" xdt:Locator="Match(name)" name="Appender" type="log4net.Appender.AzureAppendBlobAppender, log4net.Appender.Azure">
// Configuration stuff
</appender>

而當我這樣做時。 第一個仍在工作,第二個沒有。 為什么? 怎么做?

卸載C#項目並修改csproj文件以添加AfterBuild Task,以便將Web.Debug.Config轉換為Web.Azure.Debug.Config

如果需要,請在下面的導入項目路徑中修改Visual Studio版本-Microsoft \\ VisualStudio * v14.0 \\ WebApplications \\ Microsoft.WebApplication.targets *

注意:如果項目沒有隨Visual Studio一起提供,則要在CI服務器上執行此操作(如果該項目沒有Visual Studio實例),則可能需要使用Slow Cheetah或類似工具。

  <PropertyGroup>

        <TransformInputFile>Web.config</TransformInputFile>
        <TransformFile>Web.Debug.config</TransformFile>
        <TransformOutputFile>Web.Debug.Azure.config</TransformOutputFile>    
      </PropertyGroup>

 <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets" />

<Target Name="AfterBuild">
        <Message Text="=== Transform to Azure Debug ===" />
        <TransformXml Source="$(TransformInputFile)" Transform="$(TransformFile)" Destination="$(TransformOutputFile)" />
      </Target>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM