Esempio n. 1
0
        public void CleansePacket(RadarrSentryPacket packet)
        {
            packet.Message = CleanseLogMessage.Cleanse(packet.Message);

            if (packet.Fingerprint != null)
            {
                for (var i = 0; i < packet.Fingerprint.Length; i++)
                {
                    packet.Fingerprint[i] = CleanseLogMessage.Cleanse(packet.Fingerprint[i]);
                }
            }

            if (packet.Extra != null)
            {
                var target = JObject.FromObject(packet.Extra);
                new CleansingJsonVisitor().Visit(target);
                packet.Extra = target;
            }

            if (packet.Breadcrumbs != null)
            {
                for (var i = 0; i < packet.Breadcrumbs.Count; i++)
                {
                    packet.Breadcrumbs[i] = CleanseBreadcrumb(packet.Breadcrumbs[i]);
                }
            }
        }
        public JsonPacket Create(string project, SentryEvent @event)
        {
            var packet = new RadarrSentryPacket(project, @event);

            try
            {
                foreach (var exception in packet.Exceptions)
                {
                    foreach (var frame in exception.Stacktrace.Frames)
                    {
                        frame.Filename = ShortenPath(frame.Filename);
                    }
                }

                _cleanser.CleansePacket(packet);
            }
            catch (Exception)
            {
            }

            return(packet);
        }