private void AssignCorrelationId(RaygunMessageDetails details) { if (details != null && details.Error != null) { details.CorrelationId = GenerateCorrelationId(details.Error.ClassName); } }
/// <inheritdoc/> public void Apply(RaygunMessageDetails details) { details.Environment.Locale = CultureInfo.CurrentCulture.DisplayName; details.Environment.UtcOffset = TimeZoneInfo.Local.GetUtcOffset(DateTime.Now).TotalHours; details.Environment.OSVersion = Environment.OSVersion.VersionString; details.Environment.ProcessorCount = Environment.ProcessorCount; details.Environment.Architecture = Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE"); }
/// <inheritdoc/> public void Apply(RaygunMessageDetails details) { var asm = GetType().Assembly; details.MachineName = System.Environment.MachineName; details.Version = _options.AppVersion ?? Assembly.GetEntryAssembly().GetCustomAttribute <AssemblyInformationalVersionAttribute>()?.InformationalVersion; details.Client.Name = asm.GetCustomAttribute <AssemblyTitleAttribute>().Title; details.Client.Version = asm.GetCustomAttribute <AssemblyInformationalVersionAttribute>().InformationalVersion; details.Client.ClientUrl = "https://github.com/anfomin/raygun"; }
/// <inheritdoc/> public void Apply(RaygunMessageDetails details) { var context = _httpContextAccessor.HttpContext; if (context == null) { return; } if (context.User.Identity.IsAuthenticated) { details.User = new RaygunUserMessage(context.User.Identity.Name); } }
/// <inheritdoc/> public void Apply(RaygunMessageDetails details) { var context = _httpContextAccessor.HttpContext; if (context == null || !context.Response.HasStarted) { return; } var responseFeature = context.Features.Get <IHttpResponseFeature>(); details.Response = new RaygunResponseMessage { StatusCode = context.Response.StatusCode, StatusDescription = responseFeature?.ReasonPhrase }; }
/// <inheritdoc/> public void Apply(RaygunMessageDetails details) { var context = _httpContextAccessor.HttpContext; if (context == null) { return; } var request = context.Request; details.Request = new RaygunRequestMessage { HostName = request.Host.Value, Url = request.GetDisplayUrl(), HttpMethod = request.Method, IPAddress = GetIpAddress(context.Connection), QueryString = GetQueryString(request), Headers = GetHeaders(request), Cookies = GetCookies(request), Form = GetForm(request) }; }