tracee 1.0.2 → 1.0.3
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 +4 -4
- data/README.md +13 -0
- data/lib/tracee/ext/better_errors.rb +8 -4
- data/lib/tracee/version.rb +1 -1
- data/lib/tracee.rb +8 -13
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6403fb5162c40596250fb9cf77dda63f9e2bd8a
|
4
|
+
data.tar.gz: 8775a62e62078456a7f7d15aa75bce55759d093c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f08b78be1dab246140d956ec84c175014440a45eefa41abf61c11c3ad12ff11b69dba687c1297e8d7ddd2f50129c6b9700ff1dab459e0afa4c271c0f008937a5
|
7
|
+
data.tar.gz: ec1c9f06abac8daf7c9e47ad5fb7f258969471cd0abb946be52d959abb060ff2562d1eb6afaaee7787b30c333c23b6b768bcadf46633004bb121d7e1979ebb0e
|
data/README.md
CHANGED
@@ -96,6 +96,12 @@ $log = Tracee::Logger.new(
|
|
96
96
|
)
|
97
97
|
```
|
98
98
|
|
99
|
+
#### Usage with Heroku
|
100
|
+
|
101
|
+
Since Heroku filesystem is [ephemeral](https://devcenter.heroku.com/articles/dynos#ephemeral-filesystem), file output has little sense there and `log/` folder is not initialized by default.
|
102
|
+
|
103
|
+
If you deploy to Heroku, make sure in your production Rails environment Tracee::Logger is initialized with `streams: [$stdout]` to not run into weird issues.
|
104
|
+
|
99
105
|
### Preprocessors
|
100
106
|
|
101
107
|
A preprocessor is a callable object which inherits from `Tracee::Preprocessors::Base` and implements a #call method with 5 arguments:
|
@@ -257,6 +263,13 @@ RuntimeError: It has appeared too wet!
|
|
257
263
|
```
|
258
264
|
|
259
265
|
This feature is integrated with BetterErrors and ActiveSupport::BacktraceCleaner to format a trace of exceptions that would be raised within Rails server environment before send it to a logger.
|
266
|
+
Though, in order to use trace decorator with BetterErrors, Tracee must be loaded prior to BetterErrors,
|
267
|
+
e.g. in Gemfile
|
268
|
+
|
269
|
+
```ruby
|
270
|
+
gem 'better_errors', require: ['tracee', 'better_errors']
|
271
|
+
```
|
272
|
+
|
260
273
|
To enable it in a console, put
|
261
274
|
|
262
275
|
```ruby
|
@@ -9,18 +9,22 @@ module Tracee
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def log_exception_with_decorate
|
12
|
-
return unless ::BetterErrors.logger
|
12
|
+
return unless logger = ::BetterErrors.logger
|
13
13
|
|
14
14
|
message = "\n#{@error_page.exception.class} - #{@error_page.exception.message}:\n"
|
15
|
+
|
16
|
+
logger.fatal message
|
15
17
|
|
16
18
|
frames = @error_page.backtrace_frames # original definition
|
17
19
|
frames = frames.map(&:to_s).reject {|line| line =~ IGNORE_RE}
|
18
20
|
frames = Stack::BaseDecorator.(frames)
|
19
21
|
frames.each do |frame|
|
20
|
-
|
22
|
+
if frame =~ /[-\w]+ \(\d+\.[\w\.]+\) /
|
23
|
+
logger.debug " #{frame}"
|
24
|
+
else
|
25
|
+
logger.fatal " #{frame}"
|
26
|
+
end
|
21
27
|
end
|
22
|
-
|
23
|
-
::BetterErrors.logger.fatal message
|
24
28
|
end
|
25
29
|
|
26
30
|
end
|
data/lib/tracee/version.rb
CHANGED
data/lib/tracee.rb
CHANGED
@@ -43,22 +43,17 @@ module Tracee
|
|
43
43
|
}|/rubygems/core_ext/kernel_require.rb#{ # `require' override
|
44
44
|
}}
|
45
45
|
|
46
|
-
|
46
|
+
# In order to use Tracee's trace decorator with BetterErrors, Tracee must be loaded prior to BetterErrros.
|
47
47
|
if defined? ::BetterErrors::ExceptionExtension
|
48
|
-
# BetterErrors
|
49
|
-
#
|
50
|
-
|
51
|
-
include Tracee::Extensions::Exception
|
52
|
-
end
|
53
|
-
::Exception.send :class_attribute, :trace_decorator
|
48
|
+
# BetterErrors was loaded and BetterErrors::ExceptionExtension was prepended to Exception.
|
49
|
+
# There is no way to seamlessly use another extension in between them
|
50
|
+
# without side-effects, so we just skip extending.
|
54
51
|
else
|
55
|
-
# BetterErrors has not yet been loaded or will not be loaded at all
|
56
|
-
# Just insert
|
57
|
-
|
58
|
-
prepend Tracee::Extensions::Exception
|
59
|
-
class_attribute :trace_decorator
|
60
|
-
end
|
52
|
+
# BetterErrors has not yet been loaded or will not be loaded at all.
|
53
|
+
# Just insert the extension before Exception.
|
54
|
+
::Exception.prepend Tracee::Extensions::Exception
|
61
55
|
end
|
56
|
+
::Exception.send :class_attribute, :trace_decorator
|
62
57
|
|
63
58
|
|
64
59
|
module ::ActiveSupport::TaggedLogging::Formatter
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tracee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sergey Baev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-04-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|