Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
AI OnAI Off
Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
Consider the code above.
In the output to the underlying log framework, the exception.ToString() (containing Exception message + stacktrace) is appended to your own message, which IMO is unintuitive, unexpected and completely unnecessary behaviour. I know I can override this with my own messageformatter-Func, but that's unnecessary clutter scattered in my own code just because of the default value.
When decompiling, it seems that it defaults to LoggerExtensions.StateAndExceptionMessageFormatter , where I think it should default to LoggerExtensions.StringMessageFormatter.
I don't know if this is intentional, or should be considered a bug. To me, since logging frameworks (and log4net is the default one anyways) generally know about the concept exceptions, it should be unnecessary to manually append the exception.ToString() since that's included in a separate field. Or, if it should really be general enough to let everything end up in one string in the end, at least let me configure the defaults somehow, so I don't need to clutter my code with a messageFormatter every time I call .Error with an exception.