diff --git a/src/Umbraco.Core/Logging/LogHttpRequest.cs b/src/Umbraco.Core/Logging/LogHttpRequest.cs new file mode 100644 index 0000000000..34c1918b76 --- /dev/null +++ b/src/Umbraco.Core/Logging/LogHttpRequest.cs @@ -0,0 +1,32 @@ +using System; +using System.Web; + +namespace Umbraco.Core.Logging +{ + public static class LogHttpRequest + { + static readonly string RequestIdItemName = typeof(LogHttpRequest).Name + "+RequestId"; + + /// + /// Retrieve the id assigned to the currently-executing HTTP request, if any. + /// + /// The request id. + /// true if there is a request in progress; false otherwise. + public static bool TryGetCurrentHttpRequestId(out Guid requestId) + { + if (HttpContext.Current == null) + { + requestId = default(Guid); + return false; + } + + var requestIdItem = HttpContext.Current.Items[RequestIdItemName]; + if (requestIdItem == null) + HttpContext.Current.Items[RequestIdItemName] = requestId = Guid.NewGuid(); + else + requestId = (Guid)requestIdItem; + + return true; + } + } +} diff --git a/src/Umbraco.Core/Logging/Serilog/Enrichers/HttpRequestIdEnricher.cs b/src/Umbraco.Core/Logging/Serilog/Enrichers/HttpRequestIdEnricher.cs index 856b50bce5..2099698b6f 100644 --- a/src/Umbraco.Core/Logging/Serilog/Enrichers/HttpRequestIdEnricher.cs +++ b/src/Umbraco.Core/Logging/Serilog/Enrichers/HttpRequestIdEnricher.cs @@ -1,5 +1,4 @@ using System; -using System.Web; using Serilog.Core; using Serilog.Events; @@ -17,8 +16,6 @@ namespace Umbraco.Core.Logging.Serilog.Enrichers /// public const string HttpRequestIdPropertyName = "HttpRequestId"; - static readonly string RequestIdItemName = typeof(HttpRequestIdEnricher).Name + "+RequestId"; - /// /// Enrich the log event with an id assigned to the currently-executing HTTP request, if any. /// @@ -29,33 +26,11 @@ namespace Umbraco.Core.Logging.Serilog.Enrichers if (logEvent == null) throw new ArgumentNullException("logEvent"); Guid requestId; - if (!TryGetCurrentHttpRequestId(out requestId)) + if (!LogHttpRequest.TryGetCurrentHttpRequestId(out requestId)) return; var requestIdProperty = new LogEventProperty(HttpRequestIdPropertyName, new ScalarValue(requestId)); logEvent.AddPropertyIfAbsent(requestIdProperty); - } - - /// - /// Retrieve the id assigned to the currently-executing HTTP request, if any. - /// - /// The request id. - /// true if there is a request in progress; false otherwise. - public static bool TryGetCurrentHttpRequestId(out Guid requestId) - { - if (HttpContext.Current == null) - { - requestId = default(Guid); - return false; - } - - var requestIdItem = HttpContext.Current.Items[RequestIdItemName]; - if (requestIdItem == null) - HttpContext.Current.Items[RequestIdItemName] = requestId = Guid.NewGuid(); - else - requestId = (Guid)requestIdItem; - - return true; - } + } } } diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index b747b0960f..88244d799c 100644 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -326,6 +326,7 @@ + diff --git a/src/Umbraco.Web/UmbracoModule.cs b/src/Umbraco.Web/UmbracoModule.cs index d0ad7568e0..2e7060954c 100644 --- a/src/Umbraco.Web/UmbracoModule.cs +++ b/src/Umbraco.Web/UmbracoModule.cs @@ -560,7 +560,7 @@ namespace Umbraco.Web var httpContext = ((HttpApplication) sender).Context; var httpRequestId = Guid.Empty; - HttpRequestIdEnricher.TryGetCurrentHttpRequestId(out httpRequestId); + LogHttpRequest.TryGetCurrentHttpRequestId(out httpRequestId); Logger.Verbose("Begin request [{HttpRequestId}]: {RequestUrl}", httpRequestId, @@ -609,7 +609,7 @@ namespace Umbraco.Web if (UmbracoContext.Current != null) { var httpRequestId = Guid.Empty; - HttpRequestIdEnricher.TryGetCurrentHttpRequestId(out httpRequestId); + LogHttpRequest.TryGetCurrentHttpRequestId(out httpRequestId); Logger.Verbose( "End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms",