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