rails_log_parser 0.0.21 → 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
2
  SHA256:
3
- metadata.gz: 6570aad9bd2c13fe7c8e86ad2ddece7a64319043122e195b2ce57fb89916cb44
4
- data.tar.gz: 0e70389c743ca8f08bcd581726e3b48741ebe690b320b63d5bcdd0ef31955af2
3
+ metadata.gz: dfd1e54a158c7a2cc3b5bd53a9fb5ac06cacdf382a29f880e909c635743d6308
4
+ data.tar.gz: b3d793c3521b0d876d171609f37e1221d0424021efec07449858ebb8857769c4
5
5
  SHA512:
6
- metadata.gz: 422df67cbf2cf72dbe7a84a1fe7bf865a9895010ef220c19f2c9c6209ca3b1d4b450ef3c52f38ad8facc4f5b5b89c89a08bcace3ad12701a0e8daf695b5cac2a
7
- data.tar.gz: c5d900bd03d0c6786972ba3ef4b1b399bb47fe015b5697e31d3e270a9ec942f89b6ce07809c4df92fbdc4e96cde842d973a53426c5de74f46663d7be99cb1f16
6
+ metadata.gz: e3fed27137397bdfe32fb495e6dac47bf80331ff2e8338d9783455f613ec8d4a1a82ea659859be2b6733582e7c06bca47c792767b361eec0b04900bf4fcb7cea
7
+ data.tar.gz: 060ef71dd6a770e743000b2858953d402eeaa2a887da5ea9e1a42b50418b0a805638d7853e4d6b5d627eae2b673e1d5dabc1c9517806947cb9e344df7b7882b6
data/CHANGELOG.md ADDED
@@ -0,0 +1,95 @@
1
+ # Changelog
2
+
3
+ ## 0.1.0
4
+
5
+ * Drop `enumerize`, `json` and `rails` dependencies, only `activesupport` is required
6
+ * `Action#severity` and `Action#type` return symbols
7
+ * Require Ruby 3.2 and ActiveSupport 7.0 or newer
8
+ * Fix `NameError` on continuation lines of requests which started before the beginning of the log
9
+ * Fix crash on log lines with label `ANY` (`Logger#unknown`)
10
+ * Fix `summary(last_minutes:)` for actions without datetime
11
+ * Fix swallowed log lines containing `Starting job`
12
+
13
+ ## 0.0.21
14
+
15
+ * Use `ignore_lines` on not parsable lines
16
+
17
+ ## 0.0.20
18
+
19
+ * Add support for journald
20
+
21
+ ## 0.0.19
22
+
23
+ * Ignore lines after ActiveJob lines
24
+
25
+ ## 0.0.18
26
+
27
+ * Known exceptions given with maximum severity
28
+
29
+ ## 0.0.17
30
+
31
+ * Adding `ActionDispatch::Http::MimeNegotiation::InvalidType` as known exceptions
32
+ * Update dependencies
33
+
34
+ ## 0.0.16
35
+
36
+ * Remove heuristic
37
+ * Fix last action handling
38
+
39
+ ## 0.0.15
40
+
41
+ * Filter lines by config file
42
+
43
+ ## 0.0.14
44
+
45
+ * Better empty lines handling
46
+
47
+ ## 0.0.13
48
+
49
+ * Better empty lines handling
50
+
51
+ ## 0.0.12
52
+
53
+ * Adding `ActionController::UnknownFormat` as known exceptions
54
+
55
+ ## 0.0.11
56
+
57
+ * Increase minimum requests value for heuristic
58
+
59
+ ## 0.0.10
60
+
61
+ * Ignore periods with too few requests
62
+
63
+ ## 0.0.9
64
+
65
+ * Message not parseable lines only once a day
66
+ * Delete old heuristic stat files automaticly
67
+
68
+ ## 0.0.8
69
+
70
+ * Adding `ActionController::UnfilteredParameters` as known exceptions
71
+ * Adjust heuristic rate for better matching
72
+
73
+ ## 0.0.7
74
+
75
+ * Remove empty lines on summary without report
76
+
77
+ ## 0.0.6
78
+
79
+ * Adding heuristic to rate known exceptions
80
+
81
+ ## 0.0.5
82
+
83
+ * Removing `URI::InvalidURIError` as known exceptions
84
+
85
+ ## 0.0.4
86
+
87
+ * Handle stacktrace of fatals too
88
+
89
+ ## 0.0.3
90
+
91
+ * Adding `URI::InvalidURIError` as known exceptions
92
+
93
+ ## 0.0.2
94
+
95
+ * Adding `ActionController::InvalidAuthenticityToken` as known exceptions
data/README.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  This gem helps you to quick analyse your server logs without external monitor servers. Simple applications with a low number of requests cause only a low number of errors. So you can call a cronjob to analyse your logs periodly. If the summary is not empty your server will email you the result automaticly.
4
4
 
5
+ ## Requirements
6
+
7
+ * Ruby 3.2 or newer
8
+ * ActiveSupport 7.0 or newer
9
+
5
10
  ## Installation
6
11
 
7
12
  Add this line to your application's Gemfile:
@@ -30,7 +35,7 @@ Call the rake tasks in cronjobs:
30
35
 
31
36
  ```
32
37
  LOG_PATH=/srv/rails/log/production.log
33
- 0,20,40 * * * * rake rails_log_parser:parse[22]' # summary of the last 22 minutes
38
+ 0,20,40 * * * * rake rails_log_parser:parse[22] # summary of the last 22 minutes
34
39
  ```
35
40
 
36
41
  Or use it in your code:
@@ -65,89 +70,7 @@ end
65
70
 
66
71
  ## Changelog
67
72
 
68
- ### 0.0.21
69
-
70
- * Use `ignore_lines` on not parsable lines
71
-
72
- ### 0.0.20
73
-
74
- * Add support for journald
75
-
76
- ### 0.0.19
77
-
78
- * Ignore lines after ActiveJob lines
79
-
80
- ### 0.0.18
81
-
82
- * Known exceptions given with maximum severity
83
-
84
- ### 0.0.17
85
-
86
- * Adding `ActionDispatch::Http::MimeNegotiation::InvalidType` as known exceptions
87
- * Update dependencies
88
-
89
- ### 0.0.16
90
-
91
- * Remove heuristic
92
- * Fix last action handling
93
-
94
- ### 0.0.15
95
-
96
- * Filter lines by config file
97
-
98
- ### 0.0.14
99
-
100
- * Better empty lines handling
101
-
102
- ### 0.0.13
103
-
104
- * Better empty lines handling
105
-
106
- ### 0.0.12
107
-
108
- * Adding `ActionController::UnknownFormat` as known exceptions
109
-
110
- ### 0.0.11
111
-
112
- * Increase minimum requests value for heuristic
113
-
114
- ### 0.0.10
115
-
116
- * Ignore periods with too few requests
117
-
118
- ### 0.0.9
119
-
120
- * Message not parseable lines only once a day
121
- * Delete old heuristic stat files automaticly
122
-
123
- ### 0.0.8
124
-
125
- * Adding `ActionController::UnfilteredParameters` as known exceptions
126
- * Adjust heuristic rate for better matching
127
-
128
- ### 0.0.7
129
-
130
- * Remove empty lines on summary without report
131
-
132
- ### 0.0.6
133
-
134
- * Adding heuristic to rate known exceptions
135
-
136
- ### 0.0.5
137
-
138
- * Removing `URI::InvalidURIError` as known exceptions
139
-
140
- ### 0.0.4
141
-
142
- * Handle stacktrace of fatals too
143
-
144
- ### 0.0.3
145
-
146
- * Adding `URI::InvalidURIError` as known exceptions
147
-
148
- ### 0.0.2
149
-
150
- * Adding `ActionController::InvalidAuthenticityToken` as known exceptions
73
+ See [CHANGELOG.md](CHANGELOG.md).
151
74
 
152
75
  ## Contributing
153
76
 
@@ -15,13 +15,22 @@ class RailsLogParser::Action
15
15
  'ActionDispatch::Http::MimeNegotiation::InvalidType' => :fatal,
16
16
  }.freeze
17
17
 
18
- extend Enumerize
19
- enumerize :severity, in: SEVERITIES, predicates: true
20
- enumerize :type, in: %i[request without_request delayed_job active_job], predicates: true
21
- attr_reader :datetime
18
+ TYPES = %i[request without_request delayed_job active_job].freeze
19
+
20
+ attr_reader :type, :severity, :datetime
21
+
22
+ SEVERITIES.each do |value|
23
+ define_method(:"#{value}?") { severity == value }
24
+ end
25
+
26
+ TYPES.each do |value|
27
+ define_method(:"#{value}?") { type == value }
28
+ end
22
29
 
23
30
  def initialize(type, id)
24
- self.type = type
31
+ raise ArgumentError, "unknown type #{type.inspect}" unless TYPES.include?(type)
32
+
33
+ @type = type
25
34
  @id = id
26
35
  @messages = []
27
36
  @stacktrace = []
@@ -29,22 +38,26 @@ class RailsLogParser::Action
29
38
 
30
39
  def severity=(value)
31
40
  value = value.downcase.to_sym
32
- return unless severity.nil? || SEVERITIES.index(severity.to_sym) < SEVERITIES.index(value)
41
+ # Logger::UNKNOWN is written with the label ANY, it carries no severity we can rate
42
+ return unless SEVERITIES.include?(value)
43
+ return unless severity.nil? || SEVERITIES.index(severity) < SEVERITIES.index(value)
33
44
 
34
- super(value)
45
+ @severity = value
35
46
  @headline = nil
36
47
  end
37
48
 
38
49
  def known_exception?(key = nil)
39
- severity_index = SEVERITIES.index(severity.to_sym)
50
+ severity_index = SEVERITIES.index(severity)
40
51
  @messages.any? do |message|
41
- KNOWN_EXCEPTIONS.any? { |e, s| message.include?(e) && severity_index <= SEVERITIES.index(s) && (key.nil? || key == e) }
52
+ KNOWN_EXCEPTIONS.any? do |e, s|
53
+ message.include?(e) && severity_index <= SEVERITIES.index(s) && (key.nil? || key == e)
54
+ end
42
55
  end
43
56
  end
44
57
 
45
58
  def ignore?
46
59
  @messages.any? do |message|
47
- RailsLogParser.ignore_lines.any? {|ignore| message.match?(ignore) }
60
+ RailsLogParser.ignore_lines.any? { |ignore| message.match?(ignore) }
48
61
  end
49
62
  end
50
63
 
@@ -57,7 +70,7 @@ class RailsLogParser::Action
57
70
  end
58
71
 
59
72
  def after?(datetime)
60
- @datetime > datetime
73
+ @datetime.present? && @datetime > datetime
61
74
  end
62
75
 
63
76
  def add_message(value)
@@ -18,7 +18,7 @@ class RailsLogParser::Line
18
18
  \A(?<severity_id>[DIWEFU]),\s # I,
19
19
  \[(?<datetime>[^\]]+)\s\#(?<pid>\d+)\]\s+ # [2021-11-26T13:11:01.255168 #10158]
20
20
  (?<severity_label>[A-Z]+)\s+--\s+[^:]*:\s+ # INFO -- :
21
- \[(?<id>[a-f0-9\-]{36})\]\s* # [b42b65ab-7985-4bc2-a5b5-1fb23e6ad940]
21
+ \[(?<id>[a-f0-9-]{36})\]\s* # [b42b65ab-7985-4bc2-a5b5-1fb23e6ad940]
22
22
  \z/x)
23
23
  if match
24
24
  parser.empty_line(match)
@@ -30,7 +30,7 @@ class RailsLogParser::Line
30
30
  \A(?<severity_id>[DIWEFU]),\s # I,
31
31
  \[(?<datetime>[^\]]+)\s\#(?<pid>\d+)\]\s+ # [2021-11-26T13:11:01.255168 #10158]
32
32
  (?<severity_label>[A-Z]+)\s+--\s+[^:]*:\s+ # INFO -- :
33
- \[(?<id>[a-f0-9\-]{36})\]\s # [b42b65ab-7985-4bc2-a5b5-1fb23e6ad940]
33
+ \[(?<id>[a-f0-9-]{36})\]\s # [b42b65ab-7985-4bc2-a5b5-1fb23e6ad940]
34
34
  (?<message>.*) # Processing by Public::Controller
35
35
  \z/x)
36
36
  if match
@@ -73,7 +73,7 @@ class RailsLogParser::Line
73
73
  (?<severity_label>[A-Z]+)\s+--\s+[^:]*:\s # INFO -- :
74
74
  (?<datetime2>[^\s]+)\s # 2021-11-26T13:51:30+0000:
75
75
  \[Worker[^\]]+\]\s # [Worker(delayed_job host:production pid:10411)]
76
- (?:\d+\sjobs\sprocessed)|(?:Starting\sjob) # 19 jobs processed
76
+ (?:\d+\sjobs\sprocessed|Starting\sjob) # 19 jobs processed
77
77
  (?:.*) # at 2.8816
78
78
  \z/x)
79
79
  return if match
@@ -18,7 +18,7 @@ class RailsLogParser::NotParseableLines
18
18
  def save
19
19
  @stats[Date.today.to_s] = today_lines + lines
20
20
 
21
- last_7_days = (0..6).map { |i| (Date.today - i) }.map(&:to_s)
21
+ last_7_days = (0..6).map { |i| Date.today - i }.map(&:to_s)
22
22
  @stats.each_key do |key|
23
23
  @stats.delete(key) unless last_7_days.include?(key)
24
24
  end
@@ -34,7 +34,7 @@ class RailsLogParser::NotParseableLines
34
34
  def ignore?(line)
35
35
  return true if today_lines.include?(line)
36
36
 
37
- RailsLogParser.ignore_lines.any? {|ignore| line.match?(ignore) }
37
+ RailsLogParser.ignore_lines.any? { |ignore| line.match?(ignore) }
38
38
  end
39
39
 
40
40
  def load_file
@@ -25,11 +25,11 @@ class RailsLogParser::Parser
25
25
  end
26
26
 
27
27
  def from_journalctl(unit:, since: nil)
28
- cmd = ["journalctl", "-u", unit, "-o", "cat"]
28
+ cmd = ['journalctl', '-u', unit, '-o', 'cat']
29
29
 
30
- cmd += ["--since", since] if since
30
+ cmd += ['--since', since] if since
31
31
 
32
- IO.popen(cmd, err: [:child, :out]) do |io|
32
+ IO.popen(cmd, err: %i[child out]) do |io|
33
33
  from_io(io)
34
34
  end
35
35
  end
@@ -38,14 +38,13 @@ class RailsLogParser::Parser
38
38
  attr_reader :not_parseable_lines, :last_action
39
39
 
40
40
  def initialize
41
- config_file = File.join(Dir.pwd,'config/rails_log_parser.rb')
41
+ config_file = File.join(Dir.pwd, 'config/rails_log_parser.rb')
42
42
  require config_file if File.file?(config_file)
43
43
 
44
44
  @actions = {}
45
45
  @not_parseable_lines = RailsLogParser::NotParseableLines.new
46
46
  end
47
47
 
48
-
49
48
  def summary(last_minutes: nil)
50
49
  relevant = actions
51
50
  if last_minutes.present?
@@ -113,7 +112,9 @@ class RailsLogParser::Parser
113
112
  end
114
113
 
115
114
  def add_message(params)
116
- @actions[params['id']] ||= RailsLogParser::Action.new(type, params['id'])
115
+ # continuation of a request which started before the beginning of the log
116
+ return if @actions[params['id']].nil?
117
+
117
118
  @actions[params['id']].add_message(params['message'])
118
119
  end
119
120
  end
@@ -1,7 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'enumerize'
3
+ require 'active_support'
4
4
  require 'active_support/core_ext/module/attribute_accessors'
5
+ require 'active_support/core_ext/object/blank'
6
+ require 'active_support/core_ext/numeric/time'
5
7
 
6
8
  module RailsLogParser
7
9
  mattr_accessor :ignore_lines, default: []
metadata CHANGED
@@ -1,71 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_log_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.21
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Georg Limbach
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-22 00:00:00.000000000 Z
11
+ date: 2026-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: enumerize
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '2.4'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '2.4'
27
- - !ruby/object:Gem::Dependency
28
- name: json
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '2.0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
16
  requirements:
38
17
  - - ">="
39
18
  - !ruby/object:Gem::Version
40
- version: '2.0'
41
- - !ruby/object:Gem::Dependency
42
- name: rails
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
19
+ version: '7.0'
20
+ - - "<"
46
21
  - !ruby/object:Gem::Version
47
- version: '2.1'
22
+ version: '9'
48
23
  type: :runtime
49
24
  prerelease: false
50
25
  version_requirements: !ruby/object:Gem::Requirement
51
26
  requirements:
52
27
  - - ">="
53
28
  - !ruby/object:Gem::Version
54
- version: '2.1'
55
- - !ruby/object:Gem::Dependency
56
- name: rspec
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '3.0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
29
+ version: '7.0'
30
+ - - "<"
67
31
  - !ruby/object:Gem::Version
68
- version: '3.0'
32
+ version: '9'
69
33
  description: If you want to get an email with errors and fatal log lines you can use
70
34
  this gem.
71
35
  email:
@@ -74,13 +38,9 @@ executables: []
74
38
  extensions: []
75
39
  extra_rdoc_files: []
76
40
  files:
77
- - ".gitignore"
78
- - ".rspec"
79
- - Gemfile
80
- - Gemfile.lock
41
+ - CHANGELOG.md
81
42
  - LICENSE.txt
82
43
  - README.md
83
- - Rakefile
84
44
  - lib/rails_log_parser.rb
85
45
  - lib/rails_log_parser/action.rb
86
46
  - lib/rails_log_parser/line.rb
@@ -88,13 +48,13 @@ files:
88
48
  - lib/rails_log_parser/parser.rb
89
49
  - lib/rails_log_parser/railtie.rb
90
50
  - lib/rails_log_parser/tasks.rb
91
- - rails_log_parser.gemspec
92
51
  homepage: https://github.com/Lichtbit/rails_log_parser
93
52
  licenses:
94
53
  - MIT
95
54
  metadata:
96
- homepage_uri: https://github.com/Lichtbit/rails_log_parser
97
55
  source_code_uri: https://github.com/Lichtbit/rails_log_parser
56
+ changelog_uri: https://github.com/Lichtbit/rails_log_parser/blob/master/CHANGELOG.md
57
+ rubygems_mfa_required: 'true'
98
58
  post_install_message:
99
59
  rdoc_options: []
100
60
  require_paths:
@@ -103,14 +63,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
103
63
  requirements:
104
64
  - - ">="
105
65
  - !ruby/object:Gem::Version
106
- version: 2.3.0
66
+ version: '3.2'
107
67
  required_rubygems_version: !ruby/object:Gem::Requirement
108
68
  requirements:
109
69
  - - ">="
110
70
  - !ruby/object:Gem::Version
111
71
  version: '0'
112
72
  requirements: []
113
- rubygems_version: 3.3.26
73
+ rubygems_version: 3.4.20
114
74
  signing_key:
115
75
  specification_version: 4
116
76
  summary: Simple and fast analysing of default rails logs
data/.gitignore DELETED
@@ -1,11 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /_yardoc/
4
- /coverage/
5
- /doc/
6
- /pkg/
7
- /spec/reports/
8
- /tmp/
9
-
10
- # rspec failure tracking
11
- .rspec_status
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --format documentation
2
- --color
3
- --require spec_helper
data/Gemfile DELETED
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source 'https://rubygems.org'
4
-
5
- # Specify your gem's dependencies in rails_log_parser.gemspec
6
- gemspec
7
-
8
- gem 'rake', '~> 12.0'
9
- gem 'rspec', '~> 3.0'
data/Gemfile.lock DELETED
@@ -1,146 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- rails_log_parser (0.0.16)
5
- enumerize (~> 2.4)
6
- json (>= 2.0)
7
- rails (>= 2.1)
8
-
9
- GEM
10
- remote: https://rubygems.org/
11
- specs:
12
- actioncable (5.2.5)
13
- actionpack (= 5.2.5)
14
- nio4r (~> 2.0)
15
- websocket-driver (>= 0.6.1)
16
- actionmailer (5.2.5)
17
- actionpack (= 5.2.5)
18
- actionview (= 5.2.5)
19
- activejob (= 5.2.5)
20
- mail (~> 2.5, >= 2.5.4)
21
- rails-dom-testing (~> 2.0)
22
- actionpack (5.2.5)
23
- actionview (= 5.2.5)
24
- activesupport (= 5.2.5)
25
- rack (~> 2.0, >= 2.0.8)
26
- rack-test (>= 0.6.3)
27
- rails-dom-testing (~> 2.0)
28
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
29
- actionview (5.2.5)
30
- activesupport (= 5.2.5)
31
- builder (~> 3.1)
32
- erubi (~> 1.4)
33
- rails-dom-testing (~> 2.0)
34
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
35
- activejob (5.2.5)
36
- activesupport (= 5.2.5)
37
- globalid (>= 0.3.6)
38
- activemodel (5.2.5)
39
- activesupport (= 5.2.5)
40
- activerecord (5.2.5)
41
- activemodel (= 5.2.5)
42
- activesupport (= 5.2.5)
43
- arel (>= 9.0)
44
- activestorage (5.2.5)
45
- actionpack (= 5.2.5)
46
- activerecord (= 5.2.5)
47
- marcel (~> 1.0.0)
48
- activesupport (5.2.5)
49
- concurrent-ruby (~> 1.0, >= 1.0.2)
50
- i18n (>= 0.7, < 2)
51
- minitest (~> 5.1)
52
- tzinfo (~> 1.1)
53
- arel (9.0.0)
54
- builder (3.2.4)
55
- concurrent-ruby (1.2.2)
56
- crass (1.0.6)
57
- diff-lcs (1.4.4)
58
- enumerize (2.5.0)
59
- activesupport (>= 3.2)
60
- erubi (1.10.0)
61
- globalid (0.4.2)
62
- activesupport (>= 4.2.0)
63
- i18n (1.12.0)
64
- concurrent-ruby (~> 1.0)
65
- json (2.6.3)
66
- loofah (2.9.1)
67
- crass (~> 1.0.2)
68
- nokogiri (>= 1.5.9)
69
- mail (2.7.1)
70
- mini_mime (>= 0.1.1)
71
- marcel (1.0.1)
72
- method_source (1.0.0)
73
- mini_mime (1.1.0)
74
- mini_portile2 (2.8.5)
75
- minitest (5.18.0)
76
- nio4r (2.5.7)
77
- nokogiri (1.16.0)
78
- mini_portile2 (~> 2.8.2)
79
- racc (~> 1.4)
80
- racc (1.7.3)
81
- rack (2.2.3)
82
- rack-test (1.1.0)
83
- rack (>= 1.0, < 3)
84
- rails (5.2.5)
85
- actioncable (= 5.2.5)
86
- actionmailer (= 5.2.5)
87
- actionpack (= 5.2.5)
88
- actionview (= 5.2.5)
89
- activejob (= 5.2.5)
90
- activemodel (= 5.2.5)
91
- activerecord (= 5.2.5)
92
- activestorage (= 5.2.5)
93
- activesupport (= 5.2.5)
94
- bundler (>= 1.3.0)
95
- railties (= 5.2.5)
96
- sprockets-rails (>= 2.0.0)
97
- rails-dom-testing (2.0.3)
98
- activesupport (>= 4.2.0)
99
- nokogiri (>= 1.6)
100
- rails-html-sanitizer (1.3.0)
101
- loofah (~> 2.3)
102
- railties (5.2.5)
103
- actionpack (= 5.2.5)
104
- activesupport (= 5.2.5)
105
- method_source
106
- rake (>= 0.8.7)
107
- thor (>= 0.19.0, < 2.0)
108
- rake (12.3.3)
109
- rspec (3.10.0)
110
- rspec-core (~> 3.10.0)
111
- rspec-expectations (~> 3.10.0)
112
- rspec-mocks (~> 3.10.0)
113
- rspec-core (3.10.1)
114
- rspec-support (~> 3.10.0)
115
- rspec-expectations (3.10.1)
116
- diff-lcs (>= 1.2.0, < 2.0)
117
- rspec-support (~> 3.10.0)
118
- rspec-mocks (3.10.2)
119
- diff-lcs (>= 1.2.0, < 2.0)
120
- rspec-support (~> 3.10.0)
121
- rspec-support (3.10.3)
122
- sprockets (4.0.2)
123
- concurrent-ruby (~> 1.0)
124
- rack (> 1, < 3)
125
- sprockets-rails (3.2.2)
126
- actionpack (>= 4.0)
127
- activesupport (>= 4.0)
128
- sprockets (>= 3.0.0)
129
- thor (1.1.0)
130
- thread_safe (0.3.6)
131
- tzinfo (1.2.9)
132
- thread_safe (~> 0.1)
133
- websocket-driver (0.7.3)
134
- websocket-extensions (>= 0.1.0)
135
- websocket-extensions (0.1.5)
136
-
137
- PLATFORMS
138
- ruby
139
-
140
- DEPENDENCIES
141
- rails_log_parser!
142
- rake (~> 12.0)
143
- rspec (~> 3.0)
144
-
145
- BUNDLED WITH
146
- 2.3.26
data/Rakefile DELETED
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'bundler/gem_tasks'
4
- require 'rspec/core/rake_task'
5
-
6
- RSpec::Core::RakeTask.new(:spec)
7
-
8
- task default: :spec
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Gem::Specification.new do |spec|
4
- spec.name = 'rails_log_parser'
5
- spec.version = '0.0.21'
6
- spec.authors = ['Georg Limbach']
7
- spec.email = ['georg.limbach@lichtbit.com']
8
-
9
- spec.summary = 'Simple and fast analysing of default rails logs'
10
- spec.description = 'If you want to get an email with errors and fatal log lines you can use this gem.'
11
- spec.homepage = 'https://github.com/Lichtbit/rails_log_parser'
12
- spec.license = 'MIT'
13
- spec.required_ruby_version = Gem::Requirement.new('>= 2.3.0')
14
-
15
- spec.metadata['homepage_uri'] = spec.homepage
16
- spec.metadata['source_code_uri'] = 'https://github.com/Lichtbit/rails_log_parser'
17
-
18
- # Specify which files should be added to the gem when it is released.
19
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
20
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
21
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
22
- end
23
- spec.require_paths = ['lib']
24
-
25
- spec.add_dependency 'enumerize', '~> 2.4'
26
- spec.add_dependency 'json', '>= 2.0'
27
- spec.add_dependency 'rails', '>= 2.1'
28
- spec.add_development_dependency 'rspec', '>= 3.0'
29
- end