private void SendToSentry(LoggingEvent loggingEvent)
        {
            if (ravenClient == null)
            {
                ravenClient = new RavenClient(DSN)
                {
                    Logger = Logger
                };
            }

            var extra = SentryAppender.GetExtra();

            var tags = tagLayouts.ToDictionary(t => t.Name, t => (t.Layout.Format(loggingEvent) ?? "").ToString());

            var exception = loggingEvent.ExceptionObject ?? loggingEvent.MessageObject as Exception;
            var level = SentryAppender.Translate(loggingEvent.Level);

            if (exception != null)
            {
                ravenClient.CaptureException(exception, null, level, tags: tags, extra: extra);
            }
            else
            {
                var message = loggingEvent.RenderedMessage;

                if (message != null)
                {
                    ravenClient.CaptureMessage(message, level, tags, extra);
                }
            }
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Initializing RavenClient.");

            RavenClient rc = new RavenClient("https://*****:*****@app.getsentry.com/3739");

            PrintInfo("Sentry Uri: " + rc.CurrentDSN.SentryURI);
            PrintInfo("Port: " + rc.CurrentDSN.Port);
            PrintInfo("Public Key: " + rc.CurrentDSN.PublicKey);
            PrintInfo("Private Key: " + rc.CurrentDSN.PrivateKey);
            PrintInfo("Project ID: " + rc.CurrentDSN.ProjectID);

            Console.WriteLine("Causing division by zero exception.");
            try {

                rc.CaptureMessage("About to try the amazingly silly act of dividing by 0...");

                Program.PerformDivideByZero();
                Console.WriteLine("Failed.");
            } catch (Exception e) {
                Console.WriteLine("Captured: " + e.Message);
                int id = rc.CaptureException(e);
                Console.WriteLine("Sent packet: " + id);
            }

            Console.ReadLine();
        }
Esempio n. 3
0
        static void setup()
        {
            Console.WriteLine("Initializing RavenClient.");
            ravenClient = new RavenClient(dsnUrl);
            ravenClient.Logger = "C#";
            ravenClient.LogScrubber = new Logging.LogScrubber();

            PrintInfo("Sentry Uri: " + ravenClient.CurrentDSN.SentryURI);
            PrintInfo("Port: " + ravenClient.CurrentDSN.Port);
            PrintInfo("Public Key: " + ravenClient.CurrentDSN.PublicKey);
            PrintInfo("Private Key: " + ravenClient.CurrentDSN.PrivateKey);
            PrintInfo("Project ID: " + ravenClient.CurrentDSN.ProjectID);
        }
        protected override void Append(LoggingEvent loggingEvent)
        {
            if (ravenClient == null)
            {
                ravenClient = new RavenClient(DSN)
                {
                    Logger = Logger
                };
            }

            var httpExtra = HttpExtra.GetHttpExtra();
            object extra;

            if (httpExtra != null)
            {
                extra = new
                {
                    Environment = new EnvironmentExtra(),
                    Http = httpExtra
                };
            }
            else
            {
                extra = new
                {
                    Environment = new EnvironmentExtra()
                };
            }

            var tags = tagLayouts.ToDictionary(t => t.Name, t => (t.Layout.Format(loggingEvent) ?? "").ToString());

            var exception = loggingEvent.ExceptionObject ?? loggingEvent.MessageObject as Exception;
            var level = Translate(loggingEvent.Level);

            if (exception != null)
            {
                ravenClient.CaptureException(exception, loggingEvent.RenderedMessage, level, tags: tags, extra: extra);
            }
            else
            {
                var message = loggingEvent.RenderedMessage;

                if (message != null)
                {
                    ravenClient.CaptureMessage(message, level, tags, extra);
                }
            }
        }
        public void CaptureMessage_ScrubberIsInvoked()
        {
            string message = Guid.NewGuid().ToString("n");

            IRavenClient ravenClient = new RavenClient(TestHelper.DsnUri);
            ravenClient.LogScrubber = Substitute.For<IScrubber>();
            ravenClient.LogScrubber.Scrub(Arg.Any<string>())
                       .Returns(c =>
                       {
                           string json = c.Arg<string>();
                           Assert.That(json, Is.StringContaining(message));
                           return json;
                       });

            string id = ravenClient.CaptureMessage(message);
            Guid guid = Guid.Parse(id);
            Assert.That(guid, Is.Not.Null);

            // Verify that we actually received a Scrub() call:
            ravenClient.LogScrubber.Received().Scrub(Arg.Any<string>());
        }
 public void Logger_IsRoot()
 {
     IRavenClient ravenClient = new RavenClient(TestHelper.DsnUri);
     Assert.That(ravenClient.Logger, Is.EqualTo("root"));
 }
 public void Constructor_StringDsn_CurrentDsnEqualsDsn()
 {
     IRavenClient ravenClient = new RavenClient(TestHelper.DsnUri);
     Assert.That(ravenClient.CurrentDsn.ToString(), Is.EqualTo(TestHelper.DsnUri));
 }
Esempio n. 8
0
        public void Release_IsNullByDefault()
        {
            IRavenClient ravenClient = new RavenClient(TestHelper.DsnUri);

            Assert.That(ravenClient.Release, Is.Null);
        }
Esempio n. 9
0
        public void ScrubberIsInvoked(Action<IRavenClient, string> capture)
        {
            var message = Guid.NewGuid().ToString("n");
            var ravenClient = new RavenClient(TestHelper.DsnUri)
            {
                LogScrubber = Substitute.For<IScrubber>()
            };
            ravenClient.LogScrubber.Scrub(Arg.Any<string>())
                .Returns(c =>
                {
                    var json = c.Arg<string>();
                    Assert.That(json, Is.StringContaining(message));
                    return json;
                });

            capture.Invoke(ravenClient, message);

            // Verify that we actually received a Scrub() call:
            ravenClient.LogScrubber.Received().Scrub(Arg.Any<string>());
        }
        public async Task CaptureMessageAsync_ScrubberIsInvoked()
        {
            string message = Guid.NewGuid().ToString("n");

            var client = new RavenClient(TestHelper.DsnUri);
            client.LogScrubber = Substitute.For<IScrubber>();
            client.LogScrubber.Scrub(Arg.Any<string>())
                .Returns(c =>
                {
                    string json = c.Arg<string>();
                    Assert.That(json, Is.StringContaining(message));
                    return json;
                });

            await client.CaptureMessageAsync(message);

            // Verify that we actually received a Scrub() call:
            client.LogScrubber.Received().Scrub(Arg.Any<string>());
        }