Feature Request: Refactor log message to use LoggerMessageAttribute
- Dominant language
- C#
- Stars
- 3.5k
- Forks
- 294
- Avg merge
- 2h 30m
- Merged PRs (30d)
- 4
Description
A very useful refactor would be to refactor logger.LogDebug() into the performance optimized LoggerMessageAttribute method.
Reference:
* https://learn.microsoft.com/en-us/dotnet/core/extensions/logger-message-generator
* https://learn.microsoft.com/en-us/dotnet/core/extensions/high-performance-logging
**Before Refactor**:
```csharp
public class Program
{
private readonly ILogger _logger;
public Program(ILogger logger)
{
_logger = logger;
}
void Main(string[] args)
{
var message = "Blah";
_logger.LogDebug("This is a message: {message}", message);
}
}
```
**After Refactor**:
```csharp
public partial class Program
{
private readonly ILogger _logger;
public Program(ILogger logger)
{
_logger = logger;
}
void Main(string[] args)
{
var message = "Blah";
LogMessage(_logger, message);
}
[LoggerMessage(1000, LogLevel.Debug, "This is a message: {message}")]
static partial void LogMessage(ILogger logger, string message);
}
```
Contributor guide
Assessment
This issue has not been assessed yet.