[
https://issues.apache.org/jira/browse/LOG4NET-559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15925680#comment-15925680
]
Dominik Psenner commented on LOG4NET-559:
-----------------------------------------
Looks like the TypeNamePatternConverter missed a few safety checks. I added a
safety net of checks that should avoid null reference exceptions as of svn
revision 1786989. Would you please test if this fixes your usecase?
> Custom Appender throws exception to user when I use %type in ConversionPattern
> ------------------------------------------------------------------------------
>
> Key: LOG4NET-559
> URL: https://issues.apache.org/jira/browse/LOG4NET-559
> Project: Log4net
> Issue Type: Bug
> Affects Versions: 2.0.7
> Reporter: Denis Abramov
> Assignee: Dominik Psenner
> Priority: Blocker
>
> When I setup my custom appender, I use the following ConversionPattern:
> <layout type="log4net.Layout.PatternLayout">
> <param name="ConversionPattern" value="%m%n %type" />
> </layout>
> In my custom appender's "Append()" method, the "RenderLoggingEvent" is
> throwing the exception below
> Here's how I am calling the RenderLoggingEvent method:
> protected override void Append(LoggingEvent loggingEvent) {
> ...
> var text = RenderLoggingEvent(loggingEvent);
> ...
> }
>
> Here is the exception I am getting:
> System.NullReferenceException was unhandled by user code
> HResult=-2147467261
> Message=Object reference not set to an instance of an object.
> Source=log4net
> StackTrace:
> at
> log4net.Layout.Pattern.TypeNamePatternConverter.GetFullyQualifiedName(LoggingEvent
> loggingEvent) in
> c:\log4net\tags\2.0.7RC1\src\Layout\Pattern\TypeNamePatternConverter.cs:line
> 51
> at log4net.Layout.Pattern.NamedPatternConverter.Convert(TextWriter
> writer, LoggingEvent loggingEvent) in
> c:\log4net\tags\2.0.7RC1\src\Layout\Pattern\NamedPatternConverter.cs:line 125
> at log4net.Util.PatternConverter.Format(TextWriter writer, Object
> state) in c:\log4net\tags\2.0.7RC1\src\Util\PatternConverter.cs:line 173
> at log4net.Layout.PatternLayout.Format(TextWriter writer, LoggingEvent
> loggingEvent) in c:\log4net\tags\2.0.7RC1\src\Layout\PatternLayout.cs:line
> 1117
> at log4net.Appender.AppenderSkeleton.RenderLoggingEvent(LoggingEvent
> loggingEvent) in
> c:\log4net\tags\2.0.7RC1\src\Appender\AppenderSkeleton.cs:line 705
> at MyAppender.MyAppender.Append(LoggingEvent loggingEvent) in
> E:\svn\trunk\MyAppender\MyAppender.cs:line 67
> at log4net.Appender.AppenderSkeleton.DoAppend(LoggingEvent
> loggingEvent) in
> c:\log4net\tags\2.0.7RC1\src\Appender\AppenderSkeleton.cs:line 317
> InnerException:
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)