我正在調試我寫的自定義log4net Appender
。我的設置使用此標準PatternLayout
在我的配置文件:Log4net:爲什麼在RenderedMessage中忽略了模式佈局?
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout
在我Append()
方法實現,如果我叫RenderLoggingEvent()
它返回格式正確的消息。但是,loggingEvent的Renderedmessage
僅包含%message
位。
RenderLoggingEvent()
回報:
「2015-06-25 14:09:37382 [主線程] INFO MyConsole.Program [(空)] - 螺紋測試\ r \ n」 個
loggingEvent.RenderedMessage
包含:
「主題測試」
這是如何RenderedMessage
應該工作?
我需要在Appender
之外呈現消息,所以我寧願不使用它的RenderLoggingEvent()
方法。是否有更直接的方式從LoggingEvent
實例獲取呈現的消息?
Thanks @stuartd。我不確定這是一種「更直接」的方式。 OTOH也許我可以通過調用loggingEvent.WriteRenderedMessage(writer)來做類似的事情。這樣我只依賴於loggingEvent。 – urig
@urig除了日誌事件不知道appender上設置的佈局。 – stuartd