rack-access-capture 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8911f1418898cc356642bffbe5b174629cd546c0
4
- data.tar.gz: 2125d9a0db9613d0a2afcbe56a50bba311e5cb2f
3
+ metadata.gz: 2591634905f2a34e387fe164f308938081eb3fbd
4
+ data.tar.gz: dc5d14c4582419c3f9cd1e412ebef2114f6d84c4
5
5
  SHA512:
6
- metadata.gz: 973e5287ae69c3ef18be156caf7da4fbe49c95dee8b4b11058da91a22b54ec3230791743fd93e0a0a5de1ad074cf02bca1dbf6da2af3fd8553dcfd9bd7244e07
7
- data.tar.gz: 03d054e1e7ecdb9236bb448560bd2a6ffaeb1bddd2fa8a698df70656b6407a0f46d86a4eccaafecb2ae26896432fb05bc70ed366b96e7c669aeb10b7479fd20a
6
+ metadata.gz: dae0a37fc4b9c41d56f534ccc142349352461e575c08df2a05ebec30e2be397097a947bfcff44d26efe282f39b319dc05397e2d78c404b37e0558befdc942591
7
+ data.tar.gz: a522106ef2ded0159dc89b366c60ff1fe671d75b24d37a687dbaa8a3c0d3de10d3c62b7854d9edb7d6d14adb4d51a12ec74516cbd5bc4e758979d8fda7ddf1c0
@@ -8,7 +8,15 @@ module Rack
8
8
 
9
9
  class ConsoleAdapter < AbstractAdapter
10
10
 
11
- def initialize(config = {})
11
+ JSON_FORMAT = "JSON".freeze
12
+ LTSV_FORMAT = "LTSV".freeze
13
+
14
+ private_constant :JSON_FORMAT, :LTSV_FORMAT
15
+
16
+ def initialize(options = {})
17
+ config = options || {}
18
+ @format = config["format"] || 'json'
19
+ @format.upcase!
12
20
  end
13
21
 
14
22
  def collect?(env)
@@ -16,8 +24,25 @@ module Rack
16
24
  end
17
25
 
18
26
  def collect(log)
27
+ case @format
28
+ when LTSV_FORMAT
29
+ ltsv(log)
30
+ when JSON_FORMAT
31
+ json(log)
32
+ else
33
+ json(log)
34
+ end
35
+ end
36
+
37
+ private
38
+
39
+ def json(log)
19
40
  $stdout.puts log.to_json
20
41
  end
42
+
43
+ def ltsv(log)
44
+ $stdout.puts log.map { |k, v| "#{k}:#{v}" }.join("\t") + "\n"
45
+ end
21
46
  end
22
47
  end
23
48
  end
@@ -15,11 +15,16 @@ module Rack
15
15
 
16
16
  def call(env)
17
17
  captured_request = @config._watcher.nil? ? {} : @config._watcher.request_capture(env)
18
+ began_at = Time.now.instance_eval { to_i + (usec / 1000000.0) }
19
+
18
20
  status_code, header, body = @app.call(env)
21
+ ensure
22
+ exec_time = Time.now.instance_eval { to_i + (usec / 1000000.0) } - began_at
19
23
  captured_response = @config._watcher.nil? ? {} : @config._watcher.response_capture(env, status_code, header)
20
24
 
21
25
  if !@config._collector.nil? && @config._collector.collect?(env)
22
26
  access_log = @config._internal_watcher.access_log(env, status_code, header)
27
+ access_log["app_exec_time"] = exec_time
23
28
  captured_access_log = merge_logs(captured_request, captured_response, access_log)
24
29
  @config._collector.collect(captured_access_log)
25
30
  end
@@ -1,7 +1,7 @@
1
1
  module Rack
2
2
  module Access
3
3
  module Capture
4
- VERSION = "0.0.1".freeze
4
+ VERSION = "0.0.2".freeze
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-access-capture
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - moonstruckdrops
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-06-27 00:00:00.000000000 Z
11
+ date: 2016-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: woothee