seq-client-log4net icon indicating copy to clipboard operation
seq-client-log4net copied to clipboard

log4net:ERROR [SeqAppender] ErrorCode: GenericFailure. Failed in DoAppend

Open sfzjn opened this issue 10 months ago • 1 comments

Hi, I use .net framework 4.8.I find my app can't send log to seq server.I find log4net throw exception:

log4net: Logger [root] Level string is [all]. log4net: Logger [root] level set to [name="ALL",value=-2147483648]. log4net: Loading Appender [SeqAppenderMM] type: [Seq.Client.Log4Net.SeqAppender, Seq.Client.Log4Net] log4net: Setting Property [BufferSize] to Int32 value [1] log4net: Setting Property [ServerUrl] to String value [http://localhost:5341] log4net: Created Appender [SeqAppenderMM] log4net: Adding appender named [SeqAppenderMM] to logger [root]. log4net: Hierarchy Threshold [] log4net:ERROR [SeqAppender] ErrorCode: GenericFailure. Failed in DoAppend System.InvalidCastException: 指定的转换无效。 在 Seq.Client.Log4Net.LoggingEventFormatter.ToJson(LoggingEvent loggingEvent, StringWriter payload, IEnumerable1 parameters) 在 Seq.Client.Log4Net.LoggingEventFormatter.ToJson(LoggingEvent[] events, StringWriter payload, List1 mParameters) 在 Seq.Client.Log4Net.SeqAppender.SendBuffer(LoggingEvent[] events) 在 log4net.Appender.BufferingAppenderSkeleton.Append(LoggingEvent loggingEvent) 位置 D:\Git\apache\logging-log4net\src\log4net\Appender\BufferingAppenderSkeleton.cs:行号 405 在 log4net.Appender.AppenderSkeleton.DoAppend(LoggingEvent loggingEvent) 位置 D:\Git\apache\logging-log4net\src\log4net\Appender\AppenderSkeleton.cs:行号 275 log4net: Shutdown called on Hierarchy [log4net-default-repository]

this is my log4net config

<log4net>
	<appender name="SeqAppenderMM" type="Seq.Client.Log4Net.SeqAppender, Seq.Client.Log4Net" >
		<bufferSize value="1" />
		<serverUrl value="http://localhost:5341" />
	</appender>
	<root>
		<level value="all" />
		<appender-ref ref="SeqAppenderMM" />
	</root>
</log4net>

when I code new app with .net8,it can work. Thanks

sfzjn avatar Mar 18 '25 08:03 sfzjn

Hi! Thanks for reaching out. My best guess is that this is some kind of GAC issue; the code pointed to by the stack trace doesn't include any casting, so perhaps the version of log4net (or some other dependency) being loaded at runtime doesn't match the version the app is built against?

If you have any option to use Microsoft.Extensions.Logging, NLog, or Serilog, those libraries (and the Seq integrations) are much more actively maintained.

nblumhardt avatar Mar 19 '25 00:03 nblumhardt