diff --git a/examples/WireMock.Net.Service/Program.cs b/examples/WireMock.Net.Service/Program.cs
index 4af32622..ae9abdd9 100644
--- a/examples/WireMock.Net.Service/Program.cs
+++ b/examples/WireMock.Net.Service/Program.cs
@@ -1,6 +1,8 @@
-using System;
+using log4net.Config;
+using System;
+using System.IO;
using System.ServiceProcess;
-using WireMock.Logging;
+using WireMock.Net.Service;
using WireMock.Net.StandAlone;
using WireMock.Server;
using WireMock.Settings;
@@ -21,7 +23,7 @@ namespace Wiremock.Net.Service
protected override void OnStart(string[] args)
{
- Start(new WireMockNullLogger());
+ Start();
}
protected override void OnStop()
@@ -35,6 +37,11 @@ namespace Wiremock.Net.Service
static void Main(string[] args)
{
+ //Setting the current directory explicitly is required if the application is running as Windows Service,
+ //as the current directory of a Windows Service is %WinDir%\System32 per default.
+ Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);
+ XmlConfigurator.ConfigureAndWatch(new FileInfo("log4net.config"));
+
// running as service
if (!Environment.UserInteractive)
{
@@ -46,7 +53,7 @@ namespace Wiremock.Net.Service
else
{
// running as console app
- Start(new WireMockConsoleLogger());
+ Start();
Console.WriteLine("Press any key to stop...");
Console.ReadKey(true);
@@ -55,14 +62,14 @@ namespace Wiremock.Net.Service
}
}
- private static void Start(IWireMockLogger logger)
+ private static void Start()
{
_server = StandAloneApp.Start(new FluentMockServerSettings
{
Urls = new[] { "http://*:9091/" },
StartAdminInterface = true,
ReadStaticMappings = true,
- Logger = logger
+ Logger = new WireMockLog4NetLogger()
});
}
diff --git a/examples/WireMock.Net.Service/WireMock.Net.Service.csproj b/examples/WireMock.Net.Service/WireMock.Net.Service.csproj
index 7712a830..b694d871 100644
--- a/examples/WireMock.Net.Service/WireMock.Net.Service.csproj
+++ b/examples/WireMock.Net.Service/WireMock.Net.Service.csproj
@@ -35,6 +35,9 @@
..\..\packages\Handlebars.Net.1.9.5\lib\net452\Handlebars.dll
+
+ ..\..\packages\log4net.2.0.8\lib\net45-full\log4net.dll
+
..\..\packages\Microsoft.Owin.2.0.2\lib\net45\Microsoft.Owin.dll
@@ -96,9 +99,13 @@
+
+
+ Always
+
PreserveNewest
diff --git a/examples/WireMock.Net.Service/WireMockLog4NetLogger.cs b/examples/WireMock.Net.Service/WireMockLog4NetLogger.cs
new file mode 100644
index 00000000..a1d7be2c
--- /dev/null
+++ b/examples/WireMock.Net.Service/WireMockLog4NetLogger.cs
@@ -0,0 +1,39 @@
+using log4net;
+using Newtonsoft.Json;
+using Wiremock.Net.Service;
+using WireMock.Admin.Requests;
+using WireMock.Logging;
+
+namespace WireMock.Net.Service
+{
+ internal class WireMockLog4NetLogger : IWireMockLogger
+ {
+ private static readonly ILog Log = LogManager.GetLogger(typeof(Program));
+
+ public void Debug(string formatString, params object[] args)
+ {
+ Log.DebugFormat(formatString, args);
+ }
+
+ public void Info(string formatString, params object[] args)
+ {
+ Log.InfoFormat(formatString, args);
+ }
+
+ public void Warn(string formatString, params object[] args)
+ {
+ Log.WarnFormat(formatString, args);
+ }
+
+ public void Error(string formatString, params object[] args)
+ {
+ Log.ErrorFormat(formatString, args);
+ }
+
+ public void DebugRequestResponse(LogEntryModel logEntryModel, bool isAdminRequest)
+ {
+ string message = JsonConvert.SerializeObject(logEntryModel, Formatting.Indented);
+ Log.DebugFormat("Admin[{0}] {1}", isAdminRequest, message);
+ }
+ }
+}
\ No newline at end of file
diff --git a/examples/WireMock.Net.Service/log4net.config b/examples/WireMock.Net.Service/log4net.config
new file mode 100644
index 00000000..980100eb
--- /dev/null
+++ b/examples/WireMock.Net.Service/log4net.config
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/WireMock.Net.Service/packages.config b/examples/WireMock.Net.Service/packages.config
index 202d6ffd..e0ea0153 100644
--- a/examples/WireMock.Net.Service/packages.config
+++ b/examples/WireMock.Net.Service/packages.config
@@ -1,6 +1,7 @@
+