exception_file_notifier 0.0.6 → 0.1.0

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
- SHA1:
3
- metadata.gz: 6253e8fb63683fc043da38e4a201c0c7b20d50d9
4
- data.tar.gz: cb722eefe2b781fe6f2792a422bb8a6f967ad1c0
2
+ SHA256:
3
+ metadata.gz: a39d7fbe09f2d70a19b359cf7459280f3b07f3008ef2ab3ed7c017d81cbd9adf
4
+ data.tar.gz: 8d8bc317654ccd897a3c9414877712c704e2f2b5dc022992b009bc67cff5a0e8
5
5
  SHA512:
6
- metadata.gz: e91366f1931ce5fd49e6592da8881cd3fba762d33c55847b8ca45eafbfdd34ebd3309b7550dc9c9982c045b6dc858c06e485abe8110f8da6060ca07e62a97227
7
- data.tar.gz: f4da9a5eb2381e6ca1ed74e8f1c69a8e2b4aa2f69812fa76820cb94b9597a522936bdbd329748736a80b30e419329f1981b8cfce6558b6037103e26841798f97
6
+ metadata.gz: 3f9d25f53345e4e6b57a2a9a883f4c0dddd5cbe5d25b4ed69cd92cab42359f8e3487e519c27ba42df0d27a20f7288db1d4e70734fa7b374a62abbd813df38f59
7
+ data.tar.gz: 001004461e2964383bb4357811f6b6446db308d2cdafed4e4e982fe8f78216f5ed92d1257bc40b32ca814ba7ddf598457e86595b01e59d782b5142a9c6ea0011
@@ -1,8 +1,10 @@
1
- sudo: false
2
1
  language: ruby
3
2
  rvm:
4
- rvm:
5
- - 2.1
6
- - 2.2
7
- - 2.3.1
8
- before_install: gem install bundler -v 1.14.6
3
+ - 2.3.8
4
+ - 2.4.9
5
+ - 2.5.7
6
+ - 2.6.5
7
+ - 2.7.0
8
+ before_install: gem install bundler
9
+ install:
10
+ - "bundle install --jobs=3 --retry=3 --path=vendor/bundle"
data/README.md CHANGED
@@ -1,8 +1,12 @@
1
- # ExceptionFileNotifier
1
+ # Exception File Notifier
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/exception_file_notifier`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ [![Gem Version](https://badge.fury.io/rb/exception_file_notifier.svg)](https://badge.fury.io/rb/exception_file_notifier)
4
+ [![Travis](https://api.travis-ci.org/fursich/exception_file_notifier.png)](http://travis-ci.org/fursich/exception_file_notifier)
5
+ [![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE)
4
6
 
5
- TODO: Delete this and the text above, and describe your gem
7
+ **Exception File Notifier** is a custom notifier for [Exception Notification](https://github.com/smartinez87/exception_notification), that records notifications onto a log file when errors occur in a Rack/Rails application.
8
+
9
+ All the error logs are converted into JSON format. This would be useful typically when you wish to monitor an app with monitoring tools - e.g. Kibana + ElasticSearch + Fluentd, or anything alike.
6
10
 
7
11
  ## Installation
8
12
 
@@ -22,7 +26,53 @@ Or install it yourself as:
22
26
 
23
27
  ## Usage
24
28
 
25
- TODO: Write usage instructions here
29
+ Set proper configs in *config/initializers/exception_notification.rb*
30
+
31
+ To get started, use the simplest settings:
32
+
33
+ ```ruby:config/initializers/exception_notification.rb
34
+ ExceptionNotification.configure do |config|
35
+
36
+ config.add_notifier :file, {
37
+ filename: "#{Rails.root}/log/exceptions.log"
38
+ }
39
+ ```
40
+
41
+ That works in all the environment (including test).
42
+
43
+ You could also customize settings like so:
44
+
45
+ ```ruby:config/initializers/exception_notification.rb
46
+ ExceptionNotification.configure do |config|
47
+
48
+ # disable all the notifiers in certain environment
49
+ config.ignore_if do |exception, options|
50
+ Rails.env.test?
51
+ end
52
+
53
+ config.add_notifier :file, {
54
+ filename: "#{Rails.root}/log/exceptions_#{Rails.env}.log", # generate different log files depending on environments
55
+ shift_age: 'daily' # use shift_age/shift_size options to rotate log files
56
+ }
57
+ ```
58
+
59
+ You could also pass as many original values as you like, which will be evaluated JSON-ified at the time when an exception occurs. For detailed setting you may wish to consult with the Exception Notification [original readme](https://github.com/smartinez87/exception_notification).
60
+
61
+ #### available options:
62
+
63
+ - filename: specify the log file (preferablly with its absolute path)
64
+
65
+ - shift_age: option for log file rotation: directly passed to Ruby Logger
66
+
67
+ - shift_size: option for log file rotation: directly passed to Ruby Logger
68
+
69
+ (for the latter options see also: https://docs.ruby-lang.org/ja/latest/method/Logger/s/new.html)
70
+
71
+ #### Note
72
+
73
+ Due to [a bug](https://bugs.ruby-lang.org/issues/12948) with ruby Logger discovered in ruby 2.2 - 2.3, it might happen that you cannot rotate logs by using shift_age. (for those who come up with any workaround for this, please let us know / PR are welcomed)
74
+
75
+ Meanwhile you could cope with either 1) upgrading your ruby version upto 2.4, or 2) rotate logs by size, not date
26
76
 
27
77
  ## Development
28
78
 
@@ -34,6 +84,9 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
34
84
 
35
85
  Bug reports and pull requests are welcome on GitHub at https://github.com/fursich/exception_file_notifier.
36
86
 
87
+ ## Special Thanks To
88
+
89
+ All the folks who have given supports, especially @motchang and @katsurak for great advises and reviews.
37
90
 
38
91
  ## License
39
92
 
@@ -32,12 +32,11 @@ Gem::Specification.new do |spec|
32
32
 
33
33
  spec.required_ruby_version = '>= 2.1'
34
34
  spec.required_rubygems_version = '>= 1.8.11'
35
- # spec.add_dependency("activesupport", ">= 4.0", "< 6")
35
+ spec.add_dependency "exception_notification", ">= 4.0"
36
+ spec.add_dependency("activesupport", ">= 4.0", "<7")
36
37
 
37
- spec.add_development_dependency "bundler", "~> 1.14"
38
- spec.add_development_dependency "rake", "~> 10.0"
39
- spec.add_development_dependency "rspec", "~> 3.0"
40
- spec.add_development_dependency "rails", ">= 4.0", "< 6"
38
+ spec.add_development_dependency "bundler", ">= 2"
39
+ spec.add_development_dependency "rake", ">= 10.0"
40
+ spec.add_development_dependency "rspec", ">= 3.0"
41
41
  spec.add_development_dependency "pry"
42
- spec.add_dependency "exception_notification", ">= 4.0"
43
42
  end
@@ -1,5 +1,5 @@
1
1
  module ExceptionNotifier
2
2
  module ExceptionFileNotifier
3
- VERSION = "0.0.6"
3
+ VERSION = "0.1.0".freeze
4
4
  end
5
5
  end
@@ -145,7 +145,7 @@ module ExceptionNotifier
145
145
  end
146
146
 
147
147
  def encode_to_utf8(str)
148
- quick_sanitization(str).encode(::Encoding.find('UTF-8'), {invalid: :replace, undef: :replace, replace: '?'})
148
+ quick_sanitization(str).encode(::Encoding.find('UTF-8'), invalid: :replace, undef: :replace, replace: '?')
149
149
  end
150
150
 
151
151
  def quick_sanitization(str) # stringify any random objects in a safe (and convenient) manner
metadata CHANGED
@@ -1,105 +1,105 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exception_file_notifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Koji Onishi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-08-23 00:00:00.000000000 Z
11
+ date: 2019-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: exception_notification
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.14'
20
- type: :development
19
+ version: '4.0'
20
+ type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.14'
26
+ version: '4.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
34
- type: :development
33
+ version: '4.0'
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: '7'
37
+ type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
- - - "~>"
41
+ - - ">="
39
42
  - !ruby/object:Gem::Version
40
- version: '10.0'
43
+ version: '4.0'
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: '7'
41
47
  - !ruby/object:Gem::Dependency
42
- name: rspec
48
+ name: bundler
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
- - - "~>"
51
+ - - ">="
46
52
  - !ruby/object:Gem::Version
47
- version: '3.0'
53
+ version: '2'
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
- - - "~>"
58
+ - - ">="
53
59
  - !ruby/object:Gem::Version
54
- version: '3.0'
60
+ version: '2'
55
61
  - !ruby/object:Gem::Dependency
56
- name: rails
62
+ name: rake
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
65
  - - ">="
60
66
  - !ruby/object:Gem::Version
61
- version: '4.0'
62
- - - "<"
63
- - !ruby/object:Gem::Version
64
- version: '6'
67
+ version: '10.0'
65
68
  type: :development
66
69
  prerelease: false
67
70
  version_requirements: !ruby/object:Gem::Requirement
68
71
  requirements:
69
72
  - - ">="
70
73
  - !ruby/object:Gem::Version
71
- version: '4.0'
72
- - - "<"
73
- - !ruby/object:Gem::Version
74
- version: '6'
74
+ version: '10.0'
75
75
  - !ruby/object:Gem::Dependency
76
- name: pry
76
+ name: rspec
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - ">="
80
80
  - !ruby/object:Gem::Version
81
- version: '0'
81
+ version: '3.0'
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - ">="
87
87
  - !ruby/object:Gem::Version
88
- version: '0'
88
+ version: '3.0'
89
89
  - !ruby/object:Gem::Dependency
90
- name: exception_notification
90
+ name: pry
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - ">="
94
94
  - !ruby/object:Gem::Version
95
- version: '4.0'
96
- type: :runtime
95
+ version: '0'
96
+ type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - ">="
101
101
  - !ruby/object:Gem::Version
102
- version: '4.0'
102
+ version: '0'
103
103
  description: " Exception File Notifier records exception logs in JSON format, helping
104
104
  you track errors in the production environment. "
105
105
  email:
@@ -140,8 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
140
  - !ruby/object:Gem::Version
141
141
  version: 1.8.11
142
142
  requirements: []
143
- rubyforge_project:
144
- rubygems_version: 2.5.1
143
+ rubygems_version: 3.0.3
145
144
  signing_key:
146
145
  specification_version: 4
147
146
  summary: A custom notifier for ExceptionNotification that generates exception log