C# 在果园中实施AppenderSkeleton 主要问题:

C# 在果园中实施AppenderSkeleton 主要问题:,c#,log4net,orchardcms,sentry,C#,Log4net,Orchardcms,Sentry,我想记录从乌节到哨兵的错误和消息 为此,我从log4net创建了一个SentryAppender实现AppenderSkeleton 在Orchard中记录消息时,可以传递后跟参数的格式,例如: logger.Info(“我的值是:{0}”,1337) 在Append方法中接收LoggingEvent时,事件将包含MessageObject。此对象将包含m_format和m_args,其中包含调用记录器时最初提供的格式和参数。 但是,这些属性是不可访问的,因为它们是私有的,并且在运行时被放置在一

我想记录从乌节哨兵的错误和消息
为此,我从log4net创建了一个
SentryAppender
实现
AppenderSkeleton
在Orchard中记录消息时,可以传递后跟参数的格式,例如:
logger.Info(“我的值是:{0}”,1337)

Append
方法中接收
LoggingEvent
时,事件将包含
MessageObject
。此对象将包含
m_format
m_args
,其中包含调用记录器时最初提供的格式和参数。
但是,这些属性是不可访问的,因为它们是私有的,并且在运行时被放置在一个密封的类上。
我可以调用
RenderLoggingEvent
来获取呈现的消息,但是如果我将此消息传递给Sentry,它将无法正确地对消息进行分组,每个不同的参数将有一个新的日志事件

问题: 有没有办法访问格式和参数,或者应该实现不同的基类


附加问题: 我不确定这是否值得,这是我自己的问题。
LoggingEvent
上有时会包含
LocationInformation
,其中包含调用什么方法以及从何处调用的信息。但是,此信息看起来总是好像对记录器的调用来自
CastleLogger

是否有办法确保此信息指向对记录器的调用的真实来源