diff --git a/src/Microsoft.Net.Http.Server/LogHelper.cs b/src/Microsoft.Net.Http.Server/LogHelper.cs index 7413e56a70..a42ae0b0f3 100644 --- a/src/Microsoft.Net.Http.Server/LogHelper.cs +++ b/src/Microsoft.Net.Http.Server/LogHelper.cs @@ -23,7 +23,6 @@ using System; using System.Diagnostics; -using System.Globalization; using Microsoft.Framework.Logging; namespace Microsoft.Net.Http.Server @@ -34,7 +33,7 @@ namespace Microsoft.Net.Http.Server { if (factory == null) { - factory = new LoggerFactory(); + return new NullLogger(); } return factory.CreateLogger(type.FullName); @@ -87,5 +86,29 @@ namespace Microsoft.Net.Http.Server logger.LogError(location + "; " + message); } } + + private class NullLogger : ILogger + { + public IDisposable BeginScopeImpl(object state) + { + return new NullDispose(); + } + + public bool IsEnabled(LogLevel logLevel) + { + return false; + } + + public void Log(LogLevel logLevel, int eventId, object state, Exception exception, Func formatter) + { + } + + private class NullDispose : IDisposable + { + public void Dispose() + { + } + } + } } } diff --git a/src/Microsoft.Net.Http.Server/RequestProcessing/Request.cs b/src/Microsoft.Net.Http.Server/RequestProcessing/Request.cs index 37f604079d..1bd7e3c59f 100644 --- a/src/Microsoft.Net.Http.Server/RequestProcessing/Request.cs +++ b/src/Microsoft.Net.Http.Server/RequestProcessing/Request.cs @@ -514,7 +514,7 @@ namespace Microsoft.Net.Http.Server } } - private class ReceiveRequestLogContext : ReflectionBasedLogValues + private class ReceiveRequestLogContext : ILogValues { private readonly Request _request; @@ -530,6 +530,19 @@ namespace Microsoft.Net.Http.Server public string Protocol { get { return "HTTP/" + _request.ProtocolVersion.ToString(2); } } public IEnumerable Headers { get { return new HeadersLogStructure(_request.Headers); } } + public IEnumerable> GetValues() + { + return new[] + { + new KeyValuePair("Method", Method), + new KeyValuePair("PathBase", PathBase), + new KeyValuePair("Path", Path), + new KeyValuePair("Query", Query), + new KeyValuePair("Protocol", Protocol), + new KeyValuePair("Headers", Headers), + }; + } + public override string ToString() { var requestBuilder = new StringBuilder("Received request: "); diff --git a/src/Microsoft.Net.Http.Server/RequestProcessing/Response.cs b/src/Microsoft.Net.Http.Server/RequestProcessing/Response.cs index f4793e9e01..3d19df6781 100644 --- a/src/Microsoft.Net.Http.Server/RequestProcessing/Response.cs +++ b/src/Microsoft.Net.Http.Server/RequestProcessing/Response.cs @@ -883,7 +883,7 @@ namespace Microsoft.Net.Http.Server } } - private class SendResponseLogContext : ReflectionBasedLogValues + private class SendResponseLogContext : ILogValues { private readonly Response _response; @@ -897,6 +897,17 @@ namespace Microsoft.Net.Http.Server public string ReasonPhrase { get { return _response.ReasonPhrase ?? _response.GetReasonPhrase(_response.StatusCode); } } public IEnumerable Headers { get { return new HeadersLogStructure(_response.Headers); } } + public IEnumerable> GetValues() + { + return new[] + { + new KeyValuePair("Protocol", Protocol), + new KeyValuePair("StatusCode", StatusCode), + new KeyValuePair("ReasonPhrase", ReasonPhrase), + new KeyValuePair("Headers", Headers), + }; + } + public override string ToString() { // HTTP/1.1 200 OK diff --git a/src/Microsoft.Net.Http.Server/WebListener.cs b/src/Microsoft.Net.Http.Server/WebListener.cs index 856a77fb69..727001dc81 100644 --- a/src/Microsoft.Net.Http.Server/WebListener.cs +++ b/src/Microsoft.Net.Http.Server/WebListener.cs @@ -91,7 +91,7 @@ namespace Microsoft.Net.Http.Server private long? _requestQueueLength; public WebListener() - : this(new LoggerFactory()) + : this(null) { }