timberio 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32fd0ba50fea7cd8da1add4c1f49f59dee59113b
|
4
|
+
data.tar.gz: 2cbcd235d1736bacdd6d43b9b15cf370b5a49e98
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
42
|
-
|
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
|
data/lib/timber/version.rb
CHANGED
@@ -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
|
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
|
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.
|
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-
|
11
|
+
date: 2016-12-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: msgpack
|