2011-07-19 61 views

回答

1

我會寫我自己的LayoutRenderer,我自己(其實只是做了一件幾乎相同,最近) - 關於NLOG最好的地區之一,是框架如何擴展的。取決於你如何做配置將決定你如何引用/加載自定義的layoutrenderer,但天空真的是你可以做的事情的限制。可以使用自定義渲染器採用以下兩種方法之一:打包/擴展現有的asp請求渲染器,只需代理所有調用,或者以與nlog相同的方式獲取請求對象的鉤子有人會這樣做(這很棘手;如果內存服務,它會調用來獲取COM實例)。

我採取的方法是將NameValueCollection嵌入到傳出LogEventInfo對象本身(屬性字典中)中,然後使用自定義佈局渲染器來提取該集合並進行渲染。