我有几个通用集合,比如说,
IList<MyClass>
IList<MyOtherClass>
1)如何为此编写 log4net IObjectRenderer?到目前为止,我得到的是:
public class ListOfMyClassRenderer : IObjectRenderer
{
public void RenderObject(RendererMap rendererMap, object obj, TextWriter writer)
{
try
{
var myList = obj as List<MyClass>;
int no = 1;
foreach (MyClass entry in myList)
{
writer.Write("Entry {0}: PropertyA={1} PropertyB={2}\n",
no++,
entry.PropertyA,
entry.PropertyB);
}
}
catch (NullReferenceException ex)
{
writer.Write(SystemInfo.NullText);
}
}
}
2)我将如何在我的 Log4Net.config 文件中配置它?我有:
<renderer renderingClass="MyNamespace.ListOfMyClassRenderer" renderedClass="System.Collections.IList<MyClass>" />
3)最后一个问题。如果我想将每个条目写入 log4net 属性,我该怎么做?我应该使用 RendererMap 吗?