示例#1
0
 void TryCreate()
 {
     if (methodArgumentsMap == null)
     {
         methodArgumentsMap = new MethodCallArgumentMap();
     }
 }
示例#2
0
 public ExceptionMethodCallArgumentsCollector(MethodCallArgumentMap callArgumentsMap)
 {
     this.callArgumentsMap = callArgumentsMap;
 }
示例#3
0
 public ExceptionObjectInfoCollector(ILogifyClientConfiguration config, MethodCallArgumentMap callArgumentsMap)
     : base(config)
 {
     Collectors.Add(new ExceptionMethodCallArgumentsCollector(callArgumentsMap));
 }
示例#4
0
        protected async Task <bool> ReportExceptionAsync(Exception ex, IDictionary <string, string> additionalCustomData, AttachmentCollection additionalAttachments, MethodCallArgumentMap callArgumentsMap)
        {
            try {
                if (!RaiseCanReportException(ex))
                {
                    return(false);
                }

                if (ShouldIgnoreException(ex))
                {
                    return(false);
                }

                RaiseBeforeReportException(ex);

                bool success = await ExceptionLogger.ReportExceptionAsync(ex, CreateDefaultCollector(additionalCustomData, additionalAttachments, callArgumentsMap));

                RaiseAfterReportException(ex);
                return(success);
            } catch {
                return(false);
            }
        }
示例#5
0
        protected IInfoCollector CreateDefaultCollector(IDictionary <string, string> additionalCustomData, AttachmentCollection additionalAttachments, MethodCallArgumentMap callArgumentsMap)
        {
            RootInfoCollector result = CreateDefaultCollectorCore();

            IList <IInfoCollector> collectors             = result.Collectors;
            LogifyAppInfoCollector logifyAppInfoCollector = new LogifyAppInfoCollector(CreateAppInfo());

            logifyAppInfoCollector.AppName    = this.AppName;
            logifyAppInfoCollector.AppVersion = this.AppVersion;
            logifyAppInfoCollector.UserId     = this.UserId;

            collectors.Insert(0, logifyAppInfoCollector);
            collectors.Insert(0, new LogifyReportGenerationDateTimeCollector());
            if (this.AllowRemoteConfiguration)
            {
                collectors.Insert(0, new LogifyHardwareIdCollector());
            }
            collectors.Insert(0, new LogifyProtocolVersionCollector());

            collectors.Add(new ExceptionObjectInfoCollector(Config, callArgumentsMap));
            collectors.Add(new CustomDataCollector(this.CustomData, additionalCustomData));
            collectors.Add(new BreadcrumbsCollector(this.Breadcrumbs));
            collectors.Add(new AttachmentsCollector(this.Attachments, additionalAttachments));

            AddCollectors(result);

            return(result);
        }
示例#6
0
 public void ResetTrackArguments()
 {
     methodArgumentsMap = null;
 }