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沒有寫入輸出文件
- 4. 對Log4Net輸出結構的建議
- 5. 在log4j/log4net中捕獲標準輸出
- 6. 帶XML的PHP XML輸出?
- 7. Fitnesse的XML輸入/輸出
- 8. Log4Net&RollingFileAppender生成Xml文件
- 9. 亂碼XML輸出
- 10. XML輸出(UTF-8)
- 11. XML/XSLT輸出對
- 12. XML輸出在SQL
- 13. 輸出圖爲`.xml`
- 14. 製作XML輸出
- 15. 用Freemarker輸出XML
- 16. XML輸出提要
- 17. WorkerRole log4net跟蹤appender日誌不出現在輸出窗口
- 18. 需要執行XML輸入和XSL的輸出以創建XML輸出
- 19. XML/PHP讀取XML,解析,輸出
- 20. XML編碼:XML注入到輸出
- 21. SSIS輸出參數和XML
- 22. T-SQL和XML輸出
- 23. 定製JAXB XML輸出
- 24. PHP - 格式化XML輸出
- 25. 醜陋的XML輸出
- 26. 轉換XML輸出爲varchar
- 27. PHP - > XML輸出是IE
- 28. FOSRestBundle輸出錯誤的XML
- 29. 生成輸出XML子句
- 30. 輸出XML中使用PHP
達林,非常感謝你,終於到底了,但你能告訴我,我是否需要在自己的類庫,應用程序類庫或log4net類庫中重新定製這個自定義佈局庫(重新編譯)? – 2009-07-18 15:50:58