15
A
回答
28
由於suggested通過MrPeregrination你需要寫一個類從XmlLayoutBase派生,重寫FormatXml方法,並指示您的appender使用它作爲佈局:
class Program
{
static void Main(string[] args)
{
XmlConfigurator.Configure();
ILog log = log4net.LogManager.GetLogger(typeof(Program));
log.Debug("Hello world");
}
}
public class MyXmlLayout : XmlLayoutBase
{
protected override void FormatXml(XmlWriter writer, LoggingEvent loggingEvent)
{
writer.WriteStartElement("LogEntry");
writer.WriteStartElement("Message");
writer.WriteString(loggingEvent.RenderedMessage);
writer.WriteEndElement();
writer.WriteEndElement();
}
}
而且在app.config中把這個:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections>
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
<param name="File" value="log.txt" />
<param name="AppendToFile" value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="MyNamespace.MyXmlLayout" />
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="LogFileAppender" />
</root>
</log4net>
</configuration>
這將產生這樣的條目在日誌文件中:
<LogEntry><Message>Hello world</Message></LogEntry>
3
查看XmlLayoutBase類。我認爲這可能是你需要的。有一個FormatXML函數需要重寫,以向XmlWriter提供格式正確的數據。
+0
請問我有更多的細節嗎? – 2009-07-18 14:29:15
相關問題
- 1. testdriven.net log4net控制檯輸出
- 2. 將子節點追加到Log4Net的xml輸出
- 3. Log4Net配置XML
- 4. log4Net過濾多輸出混淆
- 5. Log4Net沒有寫入輸出文件
- 6. Log4net輸出到我的文檔
- 7. Log4Net - 輸出不顯示在文件
- 8. 對Log4Net輸出結構的建議
- 9. log4net過濾器關閉不輸出
- 10. 在log4j/log4net中捕獲標準輸出
- 11. Mac上沒有單聲道輸出log4net輸出
- 12. XML ::在輸出
- 13. 帶XML的PHP XML輸出?
- 14. log4net生成無效的xml
- 15. Log4Net&RollingFileAppender生成Xml文件
- 16. Fitnesse的XML輸入/輸出
- 17. SQL到XML輸出
- 18. XML輸出(UTF-8)
- 19. XML輸出在python
- 20. 用Freemarker輸出XML
- 21. ListView OnClick XML輸出
- 22. XML/XSLT輸出對
- 23. Deduplicating minidom xml輸出
- 24. XML聲明輸出
- 25. 輸出圖爲`.xml`
- 26. XML輸出提要
- 27. 亂碼XML輸出
- 28. Java和XML輸出
- 29. XML輸出在SQL
- 30. Java XML @輸出SAX
達林,非常感謝你,終於到底了,但你能告訴我,我是否需要在自己的類庫,應用程序類庫或log4net類庫中重新定製這個自定義佈局庫(重新編譯)? – 2009-07-18 15:50:58