Web.config转换不起作用

时间:2014-09-25 15:51:08

标签: .net visual-studio web-config transformation

我正在使用SLF和Log4Net进行日志记录。我希望将根记录器级别设置为ALL,以便在DEBUG模式下编译,并在为RELEASE构建时设置为INFO。出于某些原因,我的变换根本不起作用。有人可以帮我改造吗?

的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 个答案:

答案 0 :(得分:2)

要在部署方案之外运行web.config转换,您可能会发现SlowCheetah Visual Studio包非常有用。此软件包允许您在Visual Studio中按F5时自动转换app.config(或任何文件):

  

你有没有:

     
      
  • 在构建应用时,想要有不同的appSettings用于调试和发布吗?
  •   
  • 在构建应用时,是否希望根据构建配置使用不同的连接字符串?
  •   
  • 想用简洁的语法转换任何XML文件吗?
  •   
  • 希望以直接的方式调整WCF服务配置?
  •   
  • 想要在不构建/发布应用的情况下预览XML转换?
  •   
  • 想要在Web项目发布时转换web.config以外的文件吗?
  •   
     

如果您对其中任何一个回答“是”,那么您应该下载此软件包。

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