protected override void Append(LoggingEvent loggingEvent) { if (ravenClient == null) { ravenClient = new RavenClient(DSN) { Logger = Logger }; } var extra = GetExtra(); 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, null, level, tags: tags, extra: extra); } else { var message = loggingEvent.RenderedMessage; if (message != null) { ravenClient.CaptureMessage(message, level, tags, extra); } } }
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(); }
protected override void Append(LoggingEvent loggingEvent) { if (ravenClient == null) { ravenClient = new RavenClient(DSN) { Logger = Logger, // If something goes wrong when sending the event to Sentry, make sure this is written to log4net's internal // log. See <add key="log4net.Internal.Debug" value="true"/> ErrorOnCapture = ex => LogLog.Error(typeof(SentryAppender), "[" + Name + "] " + ex.Message, ex) }; } 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, null, 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); }); ravenClient.CaptureMessage(message); // Verify that we actually received a Scrub() call: ravenClient.LogScrubber.Received().Scrub(Arg.Any <string>()); }
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>()); }