コード例 #1
0
 private void AssignCorrelationId(RaygunMessageDetails details)
 {
     if (details != null && details.Error != null)
     {
         details.CorrelationId = GenerateCorrelationId(details.Error.ClassName);
     }
 }
コード例 #2
0
 /// <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");
 }
コード例 #3
0
        /// <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";
        }
コード例 #4
0
        /// <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);
            }
        }
コード例 #5
0
        /// <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
            };
        }
コード例 #6
0
        /// <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)
            };
        }