2014-09-25 95 views
0

我正在使用SLF和Log4Net進行日誌記錄。我希望將根記錄器級別設置爲ALL,以編譯爲DEBUG模式的實例,並在爲RELEASE構建時設置爲INFO。出於某些原因,我的轉換根本不起作用。有人可以幫助我進行這種變革嗎?Web.config轉換不起作用

Web.config文件:

<configuration> 

    <configSections> 
    <section name="slf" 
      type="Slf.Config.SlfConfigurationSection, slf"/> 
    <section name="log4net" 
      type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> 
    </configSections> 

    <slf> 
    <factories> 
     <!-- log everything through the Log4netFacade --> 
     <factory type="SLF.Log4netFacade.Log4netLoggerFactory, SLF.Log4netFacade"/> 
    </factories> 
    </slf> 

    <log4net> 
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
     <file value="C:\logging\log.txt" /> 
     <appendToFile value="true" /> 
     <rollingStyle value="Size" /> 
     <maxSizeRollBackups value="10" /> 
     <maximumFileSize value="1MB" /> 
     <staticLogFileName value="true" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date %logger %username %level%newline - %message%newline" /> 
     </layout> 
    </appender> 
    <root> 
     <level value="INFO" /> 
     <appender-ref ref="RollingFileAppender" /> 
    </root> 
    </log4net> 

<!-- truncated web.config here --> 

</configuration> 

Web.Debug.config:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 

    <log4net> 
    <root> 
     <level value="ALL" 
     xdt:Transform="Replace" 
     xdt:Locator="XPath(configuration/log4net/root/level[@value='INFO'])" /> 
    </root> 
    </log4net> 

    <system.web> 
    </system.web> 
</configuration> 

謝謝!

+1

你知道,當轉換部署唯一的工作,對不對?不只是構建? – 2014-09-26 22:08:36

+0

不,我沒有。這是我第一次嘗試使用Visual Studio的轉換功能。你有任何關於轉型的參考或任何有用的文件嗎? – formixian 2014-09-29 16:43:23

+0

順便說一下,如果轉換隻適用於DEPLOY,那麼它是如何工作的標準桌面應用程序未部署,但打包在安裝程序項目內? – formixian 2014-09-29 16:45:21

回答

2

要在部署方案外部運行web.config變換,您可能會發現SlowCheetah Visual Studio程序包很有用。這個包可以自動將您的app.config(或任何文件)當你按下F5在Visual Studio:

你有沒有:

  • 希望有不同的appSettings調試時解除構建你的應用程序
  • 想要在構建應用程序時根據您的構建配置使用不同的連接字符串?
  • 想要用乾淨簡單的語法來轉換任何XML文件嗎?
  • 想要以前衛的方式調整WCF服務配置嗎?
  • 想要預覽您的XML轉換,而無需構建/發佈您的應用程序?
  • 想要在web項目之外轉換文件以及發佈Web項目嗎?

如果您對其中的任何一個回答「是」,那麼您應該下載此軟件包。

(從http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5