mirror of
https://github.com/nsnail/Ocelot.git
synced 2025-04-23 00:32:50 +08:00
Update OcelotLogger to accept name of class
OcelotLogger now has a property called "Name" intended to store the name of the type for which the logger has been built for. This is intended to keep the code a little bit cleaner and also allows for a few extention methods for common logging scenarios
This commit is contained in:
parent
82ecd667e0
commit
ad81b7a305
@ -9,8 +9,11 @@ namespace Ocelot.Logging
|
||||
private readonly ILogger _logger;
|
||||
private readonly IRequestScopedDataRepository _scopedDataRepository;
|
||||
|
||||
public AspDotNetLogger(ILogger logger, IRequestScopedDataRepository scopedDataRepository)
|
||||
public string Name { get; }
|
||||
|
||||
public AspDotNetLogger(ILogger logger, IRequestScopedDataRepository scopedDataRepository, string typeName)
|
||||
{
|
||||
Name = typeName;
|
||||
_logger = logger;
|
||||
_scopedDataRepository = scopedDataRepository;
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ namespace Ocelot.Logging
|
||||
public IOcelotLogger CreateLogger<T>()
|
||||
{
|
||||
var logger = _loggerFactory.CreateLogger<T>();
|
||||
return new AspDotNetLogger(logger, _scopedDataRepository);
|
||||
return new AspDotNetLogger(logger, _scopedDataRepository, typeof(T).Name);
|
||||
}
|
||||
}
|
||||
}
|
@ -15,5 +15,10 @@ namespace Ocelot.Logging
|
||||
void LogDebug(string message, params object[] args);
|
||||
void LogError(string message, Exception exception);
|
||||
void LogError(string message, params object[] args);
|
||||
|
||||
/// <summary>
|
||||
/// The name of the type the logger has been built for.
|
||||
/// </summary>
|
||||
string Name { get; }
|
||||
}
|
||||
}
|
||||
|
29
src/Ocelot/Logging/OcelotLoggerExtensions.cs
Normal file
29
src/Ocelot/Logging/OcelotLoggerExtensions.cs
Normal file
@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace Ocelot.Logging
|
||||
{
|
||||
public static class OcelotLoggerExtensions
|
||||
{
|
||||
public static void TraceMiddlewareEntry(this IOcelotLogger logger)
|
||||
{
|
||||
logger.LogTrace($"entered {logger.Name}");
|
||||
}
|
||||
|
||||
public static void TraceInvokeNext(this IOcelotLogger logger)
|
||||
{
|
||||
logger.LogTrace($"invoking next middleware from {logger.Name}");
|
||||
}
|
||||
|
||||
public static void TraceInvokeNextCompleted(this IOcelotLogger logger)
|
||||
{
|
||||
logger.LogTrace($"returned to {logger.Name} after next middleware completed");
|
||||
}
|
||||
|
||||
public static void TraceMiddlewareCompleted(this IOcelotLogger logger)
|
||||
{
|
||||
logger.LogTrace($"completed {logger.Name}");
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user