Ejemplo n.º 1
0
 public void SetUp()
 {
     _raygunMessageBuilder       = new RaygunMessageBuilder(() => FakeHttpContext.For(new FakeHttpApplication()));
     _fakeUserCustomDataBuilder  = new FakeUserCustomDataBuilder();
     _fakeRaygunClient           = new FakeRaygunClient();
     _currentThreadTaskScheduler = new CurrentThreadTaskScheduler();
     _appender = new TestRaygunAppender(_fakeUserCustomDataBuilder,
                                        _raygunMessageBuilder,
                                        RaygunClientFactoryMethod.From(apiKey => _fakeRaygunClient),
                                        new TypeActivator(l => { }),
                                        _currentThreadTaskScheduler);
 }
Ejemplo n.º 2
0
        internal RaygunFeatureUsageTrackingSession(
            string featureName,
            Guid parentReference,
            RaygunClient raygunClient,
            RaygunSettings raygunSettings)
        {
            if (string.IsNullOrWhiteSpace(featureName))
            {
                throw new ArgumentNullException(nameof(featureName));
            }

            _raygunClient   = raygunClient;
            _raygunSettings = raygunSettings;

            ParentReference  = parentReference;
            FeatureName      = featureName;
            FeatureReference = Guid.NewGuid();

            var userCustomData = new Dictionary <string, string>
            {
                { "EventType", "FeatureUsage" },
                { "EventReference", FeatureReference.ToString() },
                { "ParentReference", parentReference.ToString() }
            };

            // keep an eye on
            // https://raygun.com/forums/thread/92182
#if NETSTANDARD2_0 || NET5_0
            var messageBuilder = RaygunMessageBuilder.New(raygunSettings)
#else
            var messageBuilder = RaygunMessageBuilder.New
#endif
                                 .SetClientDetails()
                                 .SetEnvironmentDetails()
                                 .SetUserCustomData(userCustomData);
            var raygunMessage = messageBuilder.Build();
            _raygunClient.SendInBackground(raygunMessage);
        }
Ejemplo n.º 3
0
        protected override async Task <RaygunMessage> BuildMessage(Exception exception, IList <string> tags, IDictionary userCustomData, RaygunIdentifierMessage userInfoMessage)
        {
            var message = RaygunMessageBuilder.New(GetSettings())
                          .SetResponseDetails(_currentResponseMessage.Value)
                          .SetRequestDetails(_currentRequestMessage.Value)
                          .SetEnvironmentDetails()
                          .SetMachineName(Environment.MachineName)
                          .SetExceptionDetails(exception)
                          .SetClientDetails()
                          .SetVersion(ApplicationVersion)
                          .SetTags(tags)
                          .SetUserCustomData(userCustomData)
                          .SetUser(userInfoMessage ?? UserInfo ?? (!String.IsNullOrEmpty(User) ? new RaygunIdentifierMessage(User) : null))
                          .Build();

            var customGroupingKey = await OnCustomGroupingKey(exception, message);

            if (string.IsNullOrEmpty(customGroupingKey) == false)
            {
                message.Details.GroupingKey = customGroupingKey;
            }

            return(message);
        }
Ejemplo n.º 4
0
 public void SetUp()
 {
     _builder = RaygunMessageBuilder.New;
 }
 public void SetUp()
 {
   _builder = RaygunMessageBuilder.New;
 }
Ejemplo n.º 6
0
 public void SetUp()
 {
     _settings = new RaygunSettings();
     _builder  = RaygunMessageBuilder.New(_settings);
 }