我需要使用XmlFile元素的value屬性中的百分比char來配置安裝應用程序時log4net滾動文件appender的路徑。在XmlFile的值中使用百分比char
目標是這樣的
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="Log_[%processid].log" />
...
</appender>
基礎威克斯代碼得到log4net的配置是這樣的:
<util:XmlFile
Id="RollingFileAppenderLogPath"
File="[INSTALLLOCATION]log4net.config" Action="setValue" Permanent="yes"
ElementPath="/log4net/appender[\[]@name='RollingFileAppender'[\]]/file" Name="value"
Value="[LOGPATH]Log_[%processid].log"/>
我已經試過了[]和%喜歡實體一些不同的替代品(& #91 ;, &#93;和&#37;),加倍,三倍,四倍,但該值始終提及爲環境變量或導致ICE03:無效的字符串格式。
更換的結果是這樣的:
<file type="log4net.Util.PatternString" value="<inserted LOGPATH>Log_.log"/>
有沒有辦法讓[%的ProcessID]作爲強制字符串,把它插入如預期?
解決方案是 '值= [LOGPATH]登錄_ [\ []%的ProcessID [\]日誌「' – tobaer 2012-02-10 11:42:25
您也可以使用CDATA無處不在,你想: <![CDATA [內容]]> 其中Content可以包含你想要的每個字符(包括方括號和百分號) – Chris 2012-02-10 19:10:02