AgodaAnalyzers
AgodaAnalyzers copied to clipboard
Passing exception into Logger as message arg
Feature request
Type
- [x] - Enhancement - completely new feature
- [ ] - Improvement - make what we have better
Is your feature request related to a problem?
Microsoft.Extensions.Logging.LoggerExtensions
have several overloads that take exceptions. The signature is usually in the format of
public static void LogInformation(this ILogger logger, Exception exception, string message, params object[] args)
the exception being the first parameter of the extension method.
There is another overload, that doesn't take an exception:
public static void LogInformation(this ILogger logger, string message, params object[] args)
People often make a mistake of using this overload, assuming that the exception is the second parameter, like
_logger.LogError("Something went wrong", ex);
This will result in logs that doesn't contain any information about the actual exception, since it will just try to fit ex
into the message template.
Describe the solution you'd like
Show warning if an exception is passed as a parameter to an overload that does not take an exception as a parameter. Even if the intent is to pass the exception into the message template, I believe we should use the overload that also takes the message.
Additional context
N/A
Sounds like a good idea