[jira] [Commented] (LOG4NET-559) Custom Appender throws exception to user when I use %type in ConversionPattern
[ https://issues.apache.org/jira/browse/LOG4NET-559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15926407#comment-15926407 ] Denis Abramov commented on LOG4NET-559: --- Dominik, haven't seen the problem running that revision. I think you fixed it... Not sure how it was forming in the first place. Looking at TypeNamePatternConverter it looks pretty simple. > 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: > > > > 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)
[jira] [Commented] (LOG4NET-559) Custom Appender throws exception to user when I use %type in ConversionPattern
[ https://issues.apache.org/jira/browse/LOG4NET-559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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: > > > > 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)
[jira] [Commented] (LOG4NET-559) Custom Appender throws exception to user when I use %type in ConversionPattern
[ https://issues.apache.org/jira/browse/LOG4NET-559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15923074#comment-15923074 ] Denis Abramov commented on LOG4NET-559: --- If I remove %type from the conversion string everything works again > 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 > > In my appender I have the following ConversionPattern: > > > > In my Append method, the "RenderLoggingEvent" is throwing the exception below > protected override void Append(LoggingEvent loggingEvent) { >... > message.ErrorText = Layout == null ? > loggingEvent.RenderedMessage : RenderLoggingEvent(loggingEvent); > } >... > } > 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)