mirror of
https://github.com/nsnail/Ocelot.git
synced 2025-04-22 06:22: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 ILogger _logger;
|
||||||
private readonly IRequestScopedDataRepository _scopedDataRepository;
|
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;
|
_logger = logger;
|
||||||
_scopedDataRepository = scopedDataRepository;
|
_scopedDataRepository = scopedDataRepository;
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ namespace Ocelot.Logging
|
|||||||
public IOcelotLogger CreateLogger<T>()
|
public IOcelotLogger CreateLogger<T>()
|
||||||
{
|
{
|
||||||
var logger = _loggerFactory.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 LogDebug(string message, params object[] args);
|
||||||
void LogError(string message, Exception exception);
|
void LogError(string message, Exception exception);
|
||||||
void LogError(string message, params object[] args);
|
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