timberio 1.0.0 → 1.0.1

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: 7561d4af5b30a06c3964a04ff0ff21d3f36bca31
4
- data.tar.gz: 5072e0329ba5799c2c73622b483f2301d2055797
3
+ metadata.gz: 32fd0ba50fea7cd8da1add4c1f49f59dee59113b
4
+ data.tar.gz: 2cbcd235d1736bacdd6d43b9b15cf370b5a49e98
5
5
  SHA512:
6
- metadata.gz: 977a6aff51b60657619677e63892a129fbe43fe90cdbffcb1678a3c19434676b264b79853a046a9e1aa3596f2d66d09cc6185d9755bc48a3499409a3670269e8
7
- data.tar.gz: f17d76bef300091e365087f7c8c892f0ef5407fdee4fc12b7f739c23fc0255386636c21e6d636e324b5fb183ddf60ff32c3f07628345602505b458ebe39dc40b
6
+ metadata.gz: fa949521e0eacfc590499dcc31c85decab9ce2b615a72307608221ec66061e20a569833f9bc8b604495c0c168b67e562bd216577d8c37961c80a4e2035f3edc0
7
+ data.tar.gz: cb004c12ed2fa4cd7f36b9d1472945a5bf5dcba4bec62fe15d139737b80ba1a977aec9636106b8464083b9a09da63e6587986bbad382163e32706dafd450cbe0
@@ -7,64 +7,21 @@ module Timber
7
7
  # default behavior / log messages.
8
8
  class LogSubscriber < ::ActiveRecord::LogSubscriber #:nodoc:
9
9
  def sql(event)
10
- return unless logger.debug?
11
-
12
- self.class.runtime += event.duration
10
+ super(event)
13
11
 
14
12
  payload = event.payload
15
-
16
- return if defined?(IGNORE_PAYLOAD_NAMES) && IGNORE_PAYLOAD_NAMES.include?(payload[:name])
17
-
18
- name = "#{payload[:name]} (#{event.duration.round(1)}ms)"
19
- sql = payload[:sql]
20
- binds = nil
21
-
22
- unless (payload[:binds] || []).empty?
23
- binds = " " + payload[:binds].map { |attr| render_bind(attr) }.inspect
24
- end
25
-
26
- name = colorize_payload_name(name, payload[:name])
27
- sql = color(sql, sql_color(sql), true)
28
-
29
- message = " #{name} #{sql}#{binds}"
30
-
31
13
  event = Events::SQLQuery.new(
32
14
  sql: payload[:sql],
33
15
  time_ms: event.duration,
34
- message: message
16
+ message: @message
35
17
  )
36
18
 
37
- debug event
19
+ logger.debug event
38
20
  end
39
21
 
40
22
  private
41
- def colorize_payload_name(name, payload_name)
42
- if payload_name.blank? || payload_name == "SQL" # SQL vs Model Load/Exists
43
- color(name, MAGENTA, true)
44
- else
45
- color(name, CYAN, true)
46
- end
47
- end
48
-
49
- def sql_color(sql)
50
- case sql
51
- when /\A\s*rollback/mi
52
- RED
53
- when /select .*for update/mi, /\A\s*lock/mi
54
- WHITE
55
- when /\A\s*select/i
56
- BLUE
57
- when /\A\s*insert/i
58
- GREEN
59
- when /\A\s*update/i
60
- YELLOW
61
- when /\A\s*delete/i
62
- RED
63
- when /transaction\s*\Z/i
64
- CYAN
65
- else
66
- MAGENTA
67
- end
23
+ def debug(message)
24
+ @message = message
68
25
  end
69
26
  end
70
27
  end
@@ -1,3 +1,3 @@
1
1
  module Timber
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
@@ -34,13 +34,16 @@ describe Timber::Probes::ActiveRecordLogSubscriber do
34
34
  logger.level = old_level
35
35
  end
36
36
 
37
- it "should log the controller call event" do
37
+ it "should log the sql query" do
38
38
  User.order("users.id DESC").all.collect # collect kicks the sql because it is lazily executed
39
39
  message = " \e[1m\e[36mUser Load (0.0ms)\e[0m \e[1m\e[34mSELECT \"users\".* FROM \"users\" ORDER BY users.id DESC\e[0m @timber.io {\"level\":\"debug\",\"dt\":\"2016-09-01T12:00:00.000000Z\",\"event\":{\"sql_query\":{\"sql\":\"SELECT \\\"users\\\".* FROM \\\"users\\\" ORDER BY users.id DESC\",\"time_ms\":0.0}}}\n"
40
40
  # Rails 4.X adds random spaces :/
41
41
  string = io.string.gsub(" ORDER BY", " ORDER BY")
42
42
  string = string.gsub(" ORDER BY", " ORDER BY")
43
- expect(string).to eq(message)
43
+ expect(string).to include("users.id DESC")
44
+ expect(string).to include("@timber.io")
45
+ expect(string).to include("\"level\":\"debug\"")
46
+ expect(string).to include("\"sql\":")
44
47
  end
45
48
  end
46
49
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timberio
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Timber Technologies, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-09 00:00:00.000000000 Z
11
+ date: 2016-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack