[
https://issues.apache.org/jira/browse/LOG4NET-520?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ralph Goers updated LOG4NET-520:
--------------------------------
LOG4NET is now dormant.
> MessageObject property of LoggingEvent not populated if using constructor
> with LoggingEventData
> -----------------------------------------------------------------------------------------------
>
> Key: LOG4NET-520
> URL: https://issues.apache.org/jira/browse/LOG4NET-520
> Project: Log4net
> Issue Type: Bug
> Components: Appenders
> Reporter: Andras Nemes
> Priority: Major
> Labels: log4net, loggingevent, loggingeventdata
>
> If I use the constructor...
> public LoggingEvent(Type callerStackBoundaryDeclaringType,
> log4net.Repository.ILoggerRepository repository, string loggerName, Level
> level, object message, Exception exception)
> ...to build a LoggingEvent object then the private field m_message will be
> populated with the incoming "message" parameter. The result is that both the
> MessageObject and the RenderedMessage property of LoggingEvent will have the
> correct message value.
> However, if I use the following constructor...
> public LoggingEvent(LoggingEventData data)
> ...where I populate the Message field of the LoggingEventData struct with
> some message then the m_message private field is not populated at all, it
> remains null. Therefore the MessageObject property of LoggingEvent will also
> be null. However, RenderedMessage will still have the correct value.
> This causes an issue with at least one appender: gelf4net
> (https://github.com/jjchiw/gelf4net) which relies on the MessageObject
> property.
> Regardless of gelf4net, I think it makes sense to populate as many private
> fields of LoggingEvent as possible using LoggingEventData, including
> m_message.
> Reference:
> http://svn.apache.org/viewvc/logging/log4net/trunk/src/Core/LoggingEvent.cs?revision=1707180&view=markup
> Thanks for your help,
> Andras Nemes
--
This message was sent by Atlassian Jira
(v8.3.4#803005)