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>
謝謝!
你知道,當轉換部署唯一的工作,對不對?不只是構建? – 2014-09-26 22:08:36
不,我沒有。這是我第一次嘗試使用Visual Studio的轉換功能。你有任何關於轉型的參考或任何有用的文件嗎? – formixian 2014-09-29 16:43:23
順便說一下,如果轉換隻適用於DEPLOY,那麼它是如何工作的標準桌面應用程序未部署,但打包在安裝程序項目內? – formixian 2014-09-29 16:45:21