diff --git a/Gemfile b/Gemfile
index b7a02c0..4ced7cb 100644
--- a/Gemfile
+++ b/Gemfile
@@ -2,6 +2,7 @@
source "https://rubygems.org"
+gem "logger"
gem "puma"
gem "rackup"
gem "rake"
diff --git a/Gemfile.lock b/Gemfile.lock
index 25a8a6c..ef389f9 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -10,6 +10,7 @@ GEM
pp (>= 0.6.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
+ logger (1.7.0)
minitest (6.0.1)
prism (~> 1.5)
nio4r (2.7.5)
@@ -46,6 +47,7 @@ PLATFORMS
DEPENDENCIES
irb
+ logger
minitest
puma
rackup
@@ -60,6 +62,7 @@ CHECKSUMS
erb (6.0.1) sha256=28ecdd99c5472aebd5674d6061e3c6b0a45c049578b071e5a52c2a7f13c197e5
io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
irb (1.16.0) sha256=2abe56c9ac947cdcb2f150572904ba798c1e93c890c256f8429981a7675b0806
+ logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
minitest (6.0.1) sha256=7854c74f48e2e975969062833adc4013f249a4b212f5e7b9d5c040bf838d54bb
nio4r (2.7.5) sha256=6c90168e48fb5f8e768419c93abb94ba2b892a1d0602cb06eef16d8b7df1dca1
pp (0.6.3) sha256=2951d514450b93ccfeb1df7d021cae0da16e0a7f95ee1e2273719669d0ab9df6
diff --git a/config.ru b/config.ru
index 4ba397e..6b12843 100644
--- a/config.ru
+++ b/config.ru
@@ -1,4 +1,17 @@
require "roda"
+require "sentry-ruby"
+
+Sentry.init do |config|
+ # TODO: Consolidate configuration
+ config.dsn = ENV.fetch("SENTRY_DSN")
+
+ # get breadcrumbs from logs
+ config.breadcrumbs_logger = [:sentry_logger, :http_logger]
+
+ # Add data like request headers and IP for users, if applicable;
+ # see https://docs.sentry.io/platforms/ruby/data-management/data-collected/ for more info
+ config.send_default_pii = true
+end
class App < Roda
route do |r|