mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-07-04 20:11:45 +02:00
Add WireMockNullLogger as valid commandline logger option (#845)
* Add WireMockNullLogger as valid commandline logger option * .
This commit is contained in:
@@ -2,8 +2,8 @@ using Newtonsoft.Json;
|
|||||||
using System;
|
using System;
|
||||||
using WireMock.Admin.Requests;
|
using WireMock.Admin.Requests;
|
||||||
|
|
||||||
namespace WireMock.Logging
|
namespace WireMock.Logging;
|
||||||
{
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// WireMockConsoleLogger which logs to Console
|
/// WireMockConsoleLogger which logs to Console
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -71,4 +71,3 @@ namespace WireMock.Logging
|
|||||||
return $"{DateTime.UtcNow} [{level}] : {message}";
|
return $"{DateTime.UtcNow} [{level}] : {message}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
using System;
|
using System;
|
||||||
using WireMock.Admin.Requests;
|
using WireMock.Admin.Requests;
|
||||||
|
|
||||||
namespace WireMock.Logging
|
namespace WireMock.Logging;
|
||||||
{
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// WireMockNullLogger which does not log.
|
/// WireMockNullLogger which does not log.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -45,4 +45,3 @@ namespace WireMock.Logging
|
|||||||
// Log nothing
|
// Log nothing
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
@@ -62,13 +62,23 @@ public static class WireMockServerSettingsParser
|
|||||||
settings.CorsPolicyOptions = parser.GetEnumValue(nameof(WireMockServerSettings.CorsPolicyOptions), CorsPolicyOptions.None);
|
settings.CorsPolicyOptions = parser.GetEnumValue(nameof(WireMockServerSettings.CorsPolicyOptions), CorsPolicyOptions.None);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
var loggerType = parser.GetStringValue("WireMockLogger");
|
||||||
|
switch (loggerType)
|
||||||
|
{
|
||||||
|
case nameof(WireMockConsoleLogger):
|
||||||
|
settings.Logger = new WireMockConsoleLogger();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case nameof(WireMockNullLogger):
|
||||||
|
settings.Logger = new WireMockNullLogger();
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
if (logger != null)
|
if (logger != null)
|
||||||
{
|
{
|
||||||
settings.Logger = logger;
|
settings.Logger = logger;
|
||||||
}
|
}
|
||||||
else if (parser.GetStringValue("WireMockLogger") == "WireMockConsoleLogger")
|
break;
|
||||||
{
|
|
||||||
settings.Logger = new WireMockConsoleLogger();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parser.Contains(nameof(WireMockServerSettings.Port)))
|
if (parser.Contains(nameof(WireMockServerSettings.Port)))
|
||||||
|
|||||||
@@ -21,10 +21,6 @@
|
|||||||
<PublicSign Condition=" '$(OS)' != 'Windows_NT' ">true</PublicSign>
|
<PublicSign Condition=" '$(OS)' != 'Windows_NT' ">true</PublicSign>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<!--<ItemGroup>
|
|
||||||
<None Include="WireMock.Net-Logo.png" Pack="true" PackagePath="../../"/>
|
|
||||||
</ItemGroup>-->
|
|
||||||
|
|
||||||
<!-- https://github.com/aspnet/RoslynCodeDomProvider/issues/51 -->
|
<!-- https://github.com/aspnet/RoslynCodeDomProvider/issues/51 -->
|
||||||
<!-- This is needed else we cannot build net452 in Azure DevOps Pipeline -->
|
<!-- This is needed else we cannot build net452 in Azure DevOps Pipeline -->
|
||||||
<!--<Target Name="CheckIfShouldKillVBCSCompiler" />-->
|
<!--<Target Name="CheckIfShouldKillVBCSCompiler" />-->
|
||||||
@@ -145,7 +141,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.1' ">
|
<ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.1' ">
|
||||||
<!--<PackageReference Include="System.Diagnostics.CodeAnalysis" Version="4.3.0" />-->
|
|
||||||
<PackageReference Include="Nullable" Version="1.3.0" />
|
<PackageReference Include="Nullable" Version="1.3.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -5,12 +5,12 @@ using WireMock.Logging;
|
|||||||
using WireMock.Net.StandAlone;
|
using WireMock.Net.StandAlone;
|
||||||
using WireMock.Server;
|
using WireMock.Server;
|
||||||
|
|
||||||
namespace WireMock.Net
|
namespace WireMock.Net;
|
||||||
{
|
|
||||||
public class Program
|
public class Program
|
||||||
{
|
{
|
||||||
private static readonly int SleepTime = 30000;
|
private static readonly int SleepTime = 30000;
|
||||||
private static readonly ILogger xLogger = LoggerFactory.Create(o =>
|
private static readonly ILogger XLogger = LoggerFactory.Create(o =>
|
||||||
{
|
{
|
||||||
o.SetMinimumLevel(LogLevel.Debug);
|
o.SetMinimumLevel(LogLevel.Debug);
|
||||||
o.AddSimpleConsole(options =>
|
o.AddSimpleConsole(options =>
|
||||||
@@ -20,13 +20,13 @@ namespace WireMock.Net
|
|||||||
options.TimestampFormat = "yyyy-MM-ddTHH:mm:ss ";
|
options.TimestampFormat = "yyyy-MM-ddTHH:mm:ss ";
|
||||||
});
|
});
|
||||||
}).CreateLogger("WireMock.Net");
|
}).CreateLogger("WireMock.Net");
|
||||||
private static readonly IWireMockLogger Logger = new WireMockLogger(xLogger);
|
private static readonly IWireMockLogger Logger = new WireMockLogger(XLogger);
|
||||||
|
|
||||||
private static WireMockServer Server;
|
private static WireMockServer _server = null!;
|
||||||
|
|
||||||
static async Task Main(string[] args)
|
static async Task Main(string[] args)
|
||||||
{
|
{
|
||||||
if (!StandAloneApp.TryStart(args, out Server, Logger))
|
if (!StandAloneApp.TryStart(args, out _server!, Logger))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -45,16 +45,15 @@ namespace WireMock.Net
|
|||||||
|
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
Logger.Info("Server running : {IsStarted}", Server.IsStarted);
|
Logger.Info("Server running : {0}", _server.IsStarted);
|
||||||
await Task.Delay(SleepTime).ConfigureAwait(false);
|
await Task.Delay(SleepTime).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void Stop(string why)
|
private static void Stop(string why)
|
||||||
{
|
{
|
||||||
Logger.Info("Server stopping because '{why}'", why);
|
Logger.Info("Server stopping because '{0}'", why);
|
||||||
Server.Stop();
|
_server.Stop();
|
||||||
Logger.Info("Server stopped");
|
Logger.Info("Server stopped");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
"profiles": {
|
"profiles": {
|
||||||
"dotnet-WireMock.Net": {
|
"dotnet-WireMock.Net": {
|
||||||
"commandName": "Project",
|
"commandName": "Project",
|
||||||
"commandLineArgs": ""
|
"commandLineArgs": "--WireMockLogger s"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4,11 +4,11 @@ using Microsoft.Extensions.Logging;
|
|||||||
using WireMock.Admin.Requests;
|
using WireMock.Admin.Requests;
|
||||||
using WireMock.Logging;
|
using WireMock.Logging;
|
||||||
|
|
||||||
namespace WireMock.Net
|
namespace WireMock.Net;
|
||||||
{
|
|
||||||
public class WireMockLogger : IWireMockLogger
|
public class WireMockLogger : IWireMockLogger
|
||||||
{
|
{
|
||||||
private readonly JsonSerializerOptions options = new JsonSerializerOptions
|
private readonly JsonSerializerOptions _options = new()
|
||||||
{
|
{
|
||||||
WriteIndented = true
|
WriteIndented = true
|
||||||
};
|
};
|
||||||
@@ -53,9 +53,8 @@ namespace WireMock.Net
|
|||||||
/// <see cref="IWireMockLogger.DebugRequestResponse"/>
|
/// <see cref="IWireMockLogger.DebugRequestResponse"/>
|
||||||
public void DebugRequestResponse(LogEntryModel logEntryModel, bool isAdminRequest)
|
public void DebugRequestResponse(LogEntryModel logEntryModel, bool isAdminRequest)
|
||||||
{
|
{
|
||||||
string message = JsonSerializer.Serialize(logEntryModel, options);
|
string message = JsonSerializer.Serialize(logEntryModel, _options);
|
||||||
|
|
||||||
_logger.LogDebug("Admin[{IsAdmin}] {Message}", isAdminRequest, message);
|
_logger.LogDebug("Admin[{IsAdmin}] {Message}", isAdminRequest, message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user