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