ratchetio 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -32,30 +32,36 @@ This will raise an exception within a test request; if it works, you'll see a st
32
32
 
33
33
  To report a caught exception to Ratchet, simply call `Ratchetio.report_exception`:
34
34
 
35
- begin
36
- foo = bar
37
- rescue Exception => e
38
- Ratchetio.report_exception(e)
39
- end
35
+ ```ruby
36
+ begin
37
+ foo = bar
38
+ rescue Exception => e
39
+ Ratchetio.report_exception(e)
40
+ end
41
+ ```
40
42
 
41
43
  If you're reporting an exception in the context of a request and are in a controller, you can pass along the same request and person context as the global exception handler, like so:
42
44
 
43
- begin
44
- foo = bar
45
- rescue Exception => e
46
- Ratchetio.report_exception(e, ratchetio_request_data, ratchetio_person_data)
47
- end
45
+ ```ruby
46
+ begin
47
+ foo = bar
48
+ rescue Exception => e
49
+ Ratchetio.report_exception(e, ratchetio_request_data, ratchetio_person_data)
50
+ end
51
+ ```
48
52
 
49
53
  You can also log individual messages:
50
54
 
51
- # logs at the 'warning' level. all levels: debug, info, warning, error, critical
52
- Ratchetio.report_message("Unexpected input", "warning")
55
+ ```ruby
56
+ # logs at the 'warning' level. all levels: debug, info, warning, error, critical
57
+ Ratchetio.report_message("Unexpected input", "warning")
53
58
 
54
- # default level is "info"
55
- Ratchetio.report_message("Login successful")
59
+ # default level is "info"
60
+ Ratchetio.report_message("Login successful")
56
61
 
57
- # can also include additional data as a hash in the final param
58
- Ratchetio.report_message("Login successful", "info", :user => @user)
62
+ # can also include additional data as a hash in the final param
63
+ Ratchetio.report_message("Login successful", "info", :user => @user)
64
+ ```
59
65
 
60
66
 
61
67
  ## Person tracking
@@ -69,6 +75,18 @@ alias_method :my_user_method, :current_user
69
75
  helper_method :my_user_method
70
76
  ```
71
77
 
78
+
79
+ ## Exception level filters
80
+
81
+ By default, all exceptions reported through `Ratchetio.report_exception()` are reporeted at the "error" level, except for the following, which are reported at "warning" level:
82
+
83
+ - ActiveRecord::RecordNotFound
84
+ - AbstractController::ActionNotFound
85
+ - ActionController::RoutingError
86
+
87
+ If you'd like to customize this list, see the example code in `config/initializers/ratchetio.rb`. Supported levels: "critical", "error", "warning", "info", "debug".
88
+
89
+
72
90
  ## Help / Support
73
91
 
74
92
  If you run into any issues, please email me at brian@ratchet.io
@@ -1,4 +1,10 @@
1
1
  require 'ratchetio/rails'
2
2
  Ratchetio.configure do |config|
3
3
  config.access_token = <%= access_token_expr %>
4
+
5
+ # Add exception class names to the exception_level_filters hash to
6
+ # change the level that exception is reported at. Note that if an exception
7
+ # has already been reported and logged the level will need to be changed
8
+ # via the ratchet.io interface.
9
+ # config.exception_level_filters.merge!('MyCriticalException' => 'critical')
4
10
  end
@@ -7,6 +7,7 @@ module Ratchetio
7
7
  attr_accessor :branch
8
8
  attr_accessor :framework
9
9
  attr_accessor :endpoint
10
+ attr_accessor :exception_level_filters
10
11
 
11
12
  attr_accessor :logger
12
13
 
@@ -15,6 +16,11 @@ module Ratchetio
15
16
  def initialize
16
17
  @endpoint = DEFAULT_ENDPOINT
17
18
  @framework = 'Plain'
19
+ @exception_level_filters = {
20
+ 'ActiveRecord::RecordNotFound' => 'warning',
21
+ 'AbstractController::ActionNotFound' => 'warning',
22
+ 'ActionController::RoutingError' => 'warning'
23
+ }
18
24
  end
19
25
 
20
26
  # allow params to be read like a hash
@@ -1,3 +1,3 @@
1
1
  module Ratchetio
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
data/lib/ratchetio.rb CHANGED
@@ -31,8 +31,8 @@ module Ratchetio
31
31
 
32
32
  payload = build_payload(data)
33
33
  send_payload(payload)
34
- rescue
35
- logger.error "[Ratchet.io] Error reporting exception to Ratchet.io"
34
+ rescue Exception => e
35
+ logger.error "[Ratchet.io] Error reporting exception to Ratchet.io: #{e}"
36
36
  end
37
37
  end
38
38
 
@@ -50,8 +50,8 @@ module Ratchetio
50
50
 
51
51
  payload = build_payload(data)
52
52
  send_payload(payload)
53
- rescue
54
- logger.error "[Ratchet.io] Error reporting message to Ratchet.io"
53
+ rescue Exception => e
54
+ logger.error "[Ratchet.io] Error reporting message to Ratchet.io: #{e}"
55
55
  end
56
56
  end
57
57
 
@@ -69,7 +69,12 @@ module Ratchetio
69
69
  }
70
70
  # reverse so that the order is as ratchet expects
71
71
  frames.reverse!
72
-
72
+
73
+ filtered_level = configuration.exception_level_filters[exception.class.name]
74
+ if filtered_level
75
+ data[:level] = filtered_level
76
+ end
77
+
73
78
  data[:body] = {
74
79
  :trace => {
75
80
  :frames => frames,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ratchetio
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-19 00:00:00.000000000 Z
12
+ date: 2012-10-23 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Rails plugin to catch and send exceptions to Ratchet.io
15
15
  email: