datadog-json_logger 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/datadog/loggers/version.rb +1 -1
- data/lib/datadog/sinatra_middleware.rb +9 -4
- data/sig/datadog/sinatra_middleware.rbs +2 -3
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba2bce053c01ef4787e60b782e1796f050d0d1462af869de7f09594a18bb1476
|
4
|
+
data.tar.gz: 980509d54903433e0a4e755c3a2d73e96a192ad8a732bf1c119dc675846f8563
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89da523671f52049de515a7299ab7f664d03925d777c16648de762859807c88f0fbdf3a20ed1ce438fcb4fdb9c6b459cf6674e7057a2daa62dadc65cde9b7580
|
7
|
+
data.tar.gz: e75b0d5ae7c83847ebd3aeca11611f05f11a5ac4ce7edfc7cb768e7fe4b91d6451d3d5dffd2f932faf38eb7985b8e8752419b0e09e1c8309caf55fcce826bacc
|
@@ -16,16 +16,21 @@ module Datadog
|
|
16
16
|
class SinatraMiddleware
|
17
17
|
attr_reader :app, :logger
|
18
18
|
|
19
|
-
def initialize(app, logger)
|
19
|
+
def initialize(app, logger, opt = {})
|
20
20
|
@app = app
|
21
21
|
@logger = logger
|
22
|
+
@raise_exceptions = opt.fetch(:raise_exceptions, false)
|
22
23
|
end
|
23
24
|
|
24
25
|
def call(env)
|
25
26
|
request = Rack::Request.new(env)
|
26
27
|
start_time = Time.now
|
27
28
|
|
28
|
-
status, headers, body =
|
29
|
+
status, headers, body = if @raise_exceptions
|
30
|
+
app.call(env)
|
31
|
+
else
|
32
|
+
safely_process_request(env)
|
33
|
+
end
|
29
34
|
end_time = Time.now
|
30
35
|
|
31
36
|
log_request(request, env, status, headers, start_time, end_time)
|
@@ -39,8 +44,8 @@ module Datadog
|
|
39
44
|
|
40
45
|
def safely_process_request(env)
|
41
46
|
app.call(env)
|
42
|
-
rescue StandardError
|
43
|
-
[500, { "Content-Type": "
|
47
|
+
rescue StandardError => e
|
48
|
+
[500, { "Content-Type": "application/json" }, [e.class.name, e.message].join(": ")]
|
44
49
|
end
|
45
50
|
|
46
51
|
def log_request(request, env, status, headers, start_time, end_time)
|
@@ -7,14 +7,13 @@ end
|
|
7
7
|
module Datadog
|
8
8
|
class SinatraMiddleware
|
9
9
|
@app: untyped
|
10
|
-
|
11
10
|
@logger: Logger
|
11
|
+
@raise_exceptions: bool
|
12
12
|
|
13
13
|
attr_reader app: untyped
|
14
|
-
|
15
14
|
attr_reader logger: Logger
|
16
15
|
|
17
|
-
def initialize: (untyped app, Logger logger) -> void
|
16
|
+
def initialize: (untyped app, Logger logger, ?Hash[Symbol, untyped] opt) -> void
|
18
17
|
|
19
18
|
def call: (untyped env) -> untyped
|
20
19
|
|