Hi, I'm trying to use the RemotingAppender. I got the client and server sample
code working fine. Now I'm trying to use the appender in my own code but I'm
getting an error that I can't figure out. When I run my own app (acting as the
client) I see this stack trace in DebugView:
[9596] log4net:ERROR [RemotingAppender] Failed in DoAppend
[9596] System.Runtime.Serialization.SerializationException: Cannot find the
assembly log4net, Version=1.2.0.30714, Culture=neutral,
PublicKeyToken=9be3b600b03054c9.
[9596]
[9596] Server stack trace:
[9596] at
System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly()
[9596] at
System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetType(BinaryAssemblyInfo
assemblyInfo, String name)
[9596] at
System.Runtime.Serialization.Formatters.Binary.BinaryConverter.TypeFromInfo(BinaryTypeEnum
binaryTypeEnum, Object typeInformation, ObjectReader objectReader,
BinaryAssemblyInfo assemblyInfo, InternalPrimitiveTypeE& primitiveTypeEnum,
String& typeString, Type& type, Boolean& isVariant)
[9596] at
System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadArray(BinaryHeaderEnum
binaryHeaderEnum)
[9596] at
System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
[9596] at
System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler
handler, __BinaryParser serParser, Boolean fCheck, IMethodCallMessage
methodCallMessage)
[9596] at
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream
serializationStream, HeaderHandler handler, Boolean fCheck, IMethodCallMessage
methodCallMessage)
[9596] at
System.Runtime.Remoting.Channels.CoreChannel.DeserializeBinaryRequestMessage(String
objectUri, Stream inputStream, Boolean bStrictBinding, TypeFilterLevel
securityLevel)
[9596] at
System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(IServerChannelSinkStack
sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream
requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders,
Stream& responseStream)
[9596]
[9596] Exception rethrown at [0]:
[9596] at
System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,
IMessage retMsg)
[9596] at
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,
Int32 type)
[9596] at log4net.Appender.IRemoteLoggingSink.LogEvents(LoggingEvent[]
events)
[9596] at log4net.Appender.RemotingAppender.SendBuffer(LoggingEvent[]
events)
[9596] at log4net.Appender.BufferingAppenderSkeleton.Append(LoggingEvent
loggingEvent)
[9596] at log4net.Appender.AppenderSkeleton.DoAppend(LoggingEvent
loggingEvent)
Here is my config:
<appender name="RemotingAppender" type="log4net.Appender.RemotingAppender" >
<sink value="tcp://localhost:8085/LoggingSink" />
<lossy value="false" />
<bufferSize value="1" />
<onlyFixPartialEventData value="true" />
</appender>
As far as I can see, it is exactly the same as the client sample code (except
mine is not in the app's .config file), yet the sample code works and mine
doesn't. Other appenders work with my code, just not the RemotingAppender.
Simon.