log_sense 1.9.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  module LogSense
2
- VERSION = "1.9.0"
2
+ VERSION = "2.0.0"
3
3
  end
data/log_sense.gemspec CHANGED
@@ -6,8 +6,8 @@ Gem::Specification.new do |spec|
6
6
  spec.authors = ["Adolfo Villafiorita"]
7
7
  spec.email = ["adolfo@shair.tech"]
8
8
 
9
- spec.summary = %q{Generate analytics for Apache and Rails log file.}
10
- spec.description = %q{Generate analytics in HTML, txt, and SQLite format for Apache and Rails log files.}
9
+ spec.summary = %q{Generate analytics for Rails and Apache/Nginx log file.}
10
+ spec.description = %q{Generate analytics in HTML, txt, and SQLite format for Rails and Apache/Nginx log files.}
11
11
  spec.homepage = "https://github.com/shair-tech/log_sense/"
12
12
  spec.license = "MIT"
13
13
  spec.required_ruby_version = Gem::Requirement.new(">= 2.6.9")
@@ -27,12 +27,12 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ["lib"]
29
29
 
30
- spec.add_dependency "browser"
31
- spec.add_dependency "ipaddr"
32
- spec.add_dependency "iso_country_codes"
33
- spec.add_dependency "sqlite3"
34
- spec.add_dependency "terminal-table"
30
+ spec.add_dependency "browser", "~> 5.3.0"
31
+ spec.add_dependency "ipaddr", "~> 1.2.0"
32
+ spec.add_dependency "iso_country_codes", "~> 0.7.0"
33
+ spec.add_dependency "sqlite3", "~> 2.0.0"
34
+ spec.add_dependency "terminal-table", "~> 3.0.0"
35
35
 
36
- spec.add_development_dependency "debug"
37
- spec.add_development_dependency "minitest"
36
+ spec.add_development_dependency "debug", "~> 1.9.0"
37
+ spec.add_development_dependency "minitest", "~> 5.24.0"
38
38
  end
Binary file
data/todo.org ADDED
@@ -0,0 +1,309 @@
1
+ #+TITLE: Todo
2
+
3
+ * Todo (2024-08-01)
4
+
5
+ ** T Move geolocation to aggregator, so that we can perform queries more efficiently :refactoring:
6
+ ** T Filter on dates :feature:
7
+ ** T Visits/Hits :feature:
8
+ - Visits and hits now includes also requests for other resources and 404.
9
+ We should probably limit to the visits to actual pages, to remove noise
10
+ and errors.
11
+ ** T error on data
12
+ - The data reported by echarts on the number of hits of a controller
13
+ differs from the data shown in the table?
14
+ ** T Sidebar foreground color in new apache report
15
+ ** T Dark style
16
+ ** T Remove dependency from Zurb Foundation (native css grid instead)
17
+ ** T refactor report specifications in their own class :refactoring:
18
+ ** T Add lines not parsed to the report :feature:
19
+ ** T Using an empty log as input raises an error :feature:
20
+ kriosprime:sample_logs $ log_sense -f apache -i empty_log.log -t html
21
+ (erb):3:in `block in render': undefined method `strftime' for nil:NilClass (NoMethodError)
22
+ from /opt/rubies/ruby-2.6.9/lib/ruby/2.6.0/erb.rb:901:in `eval'
23
+ from /opt/rubies/ruby-2.6.9/lib/ruby/2.6.0/erb.rb:901:in `result'
24
+ from /home/adolfo/.gem/ruby/2.6.9/gems/log_sense-1.3.4/lib/log_sense/emitter.rb:40:in `render'
25
+ from (erb):210:in `emit'
26
+ from /opt/rubies/ruby-2.6.9/lib/ruby/2.6.0/erb.rb:901:in `eval'
27
+ from /opt/rubies/ruby-2.6.9/lib/ruby/2.6.0/erb.rb:901:in `result'
28
+ from /home/adolfo/.gem/ruby/2.6.9/gems/log_sense-1.3.4/lib/log_sense/emitter.rb:24:in `emit'
29
+ from /home/adolfo/.gem/ruby/2.6.9/gems/log_sense-1.3.4/exe/log_sense:66:in `<top (required)>'
30
+ from /home/adolfo/.gem/ruby/2.6.9/bin/log_sense:23:in `load'
31
+ from /home/adolfo/.gem/ruby/2.6.9/bin/log_sense:23:in `<main>'
32
+ ** T Choosing the wrong output format raises an error :feature:
33
+ kriosprime:sample_logs $ log_sense -t apache -i empty_log.log -o html
34
+ /home/adolfo/.gem/ruby/2.6.9/gems/log_sense-1.3.4/lib/log_sense/emitter.rb:22:in `read': No such file or directory @ rb_sysopen - /home/adolfo/.gem/ruby/2.6.9/gems/log_sense-1.3.4/lib/log_sense/templates/apache.apache.erb (Errno::ENOENT)
35
+ from /home/adolfo/.gem/ruby/2.6.9/gems/log_sense-1.3.4/lib/log_sense/emitter.rb:22:in `emit'
36
+ from /home/adolfo/.gem/ruby/2.6.9/gems/log_sense-1.3.4/exe/log_sense:66:in `<top (required)>'
37
+ from /home/adolfo/.gem/ruby/2.6.9/bin/log_sense:23:in `load'
38
+ from /home/adolfo/.gem/ruby/2.6.9/bin/log_sense:23:in `<main>'
39
+
40
+ ** T Architecture :refactoring:
41
+ The architecture and the structure of the code is far from being nice,
42
+ for historical reason and for a bunch of small differences existing
43
+ between the input and the outputs to be generated. This usually ends
44
+ up with modifications to the code that have to be replicated in
45
+ different parts of the code and in interferences.
46
+
47
+ Among the points I would like to address:
48
+
49
+ - [ ] The execution pipeline in the main script has a few exceptions to
50
+ manage SQLite reading/dumping and ufw report. A linear structure
51
+ would be a lot nicer.
52
+
53
+ - [ ] Two different classes are defined for steps 1, 2, and 4, to manage,
54
+ respectively, Apache and Rails logs. These classes inherit from a common
55
+ ancestor (e.g. ApacheParser and RailsParser both inherit from Parser), but
56
+ there is still too little code shared. A nicer approach would be that of
57
+ identifying a common DB structure and unify the pipeline up to (or
58
+ including) the generation of reports. There are a bunch of small different
59
+ things to highlight in reports, which still make this difficult. For
60
+ instance, the country report for Apache reports size of TX data, which is
61
+ not available for Rail reports.
62
+
63
+ - [ ] Geolocation could become a lot more efficient if performed in
64
+ SQLite, rather than in Ruby
65
+
66
+ - [ ] The distinction between Aggregation, Shaping, and Emission is a too
67
+ fine-grained and it would be nice to be able to cleanly remove one
68
+ of the steps.
69
+
70
+
71
+ * Archive :archive:
72
+
73
+ ** D Revisions to command line syntax
74
+ :PERTIES:
75
+ :HIVE_TIME: 2024-08-01 Thu 08:18
76
+ :HIVE_FILE: ~/Sources/ruby/log_sense/todo.org
77
+ :HIVE_OLPATH: Check
78
+ :HIVE_CATEGORY: todo
79
+ :HIVE_TODO: DONE
80
+ ::
81
+ :BOOK:
82
+ -ate "DONE" from "TODO" [2022-03-07 Mon 21:24]
83
+ ::
84
+ -low multiple files in input
85
+ -low input from stdin
86
+
87
+ ** D Invalid IP
88
+ :PERTIES:
89
+ :HIVE_TIME: 2024-08-01 Thu 08:18
90
+ :HIVE_FILE: ~/Sources/ruby/log_sense/todo.org
91
+ :HIVE_OLPATH: Check
92
+ :HIVE_CATEGORY: todo
93
+ :HIVE_TODO: DONE
94
+ ::
95
+ :BOOK:
96
+ -ate "DONE" from "TODO" [2022-03-08 Tue 12:50]
97
+ ::
98
+ Iking log_sense on bringfood.org...done!
99
+ Iking log_sense on ewaste.education...done!
100
+ Iking log_sense on gasapp.fbk.eu...done!
101
+ Iking log_sense on replay-eit...done!
102
+ Iking log_sense on shair.tech...done!
103
+ Iking log_sense on w3c.it...done!
104
+ Iking log_sense on bringfood.org...Traceback (most recent call last):
105
+ 12: from /home/octopus/.gem/ruby/2.7.5/bin/log_sense:23:in `<main>'
106
+ 11: from /home/octopus/.gem/ruby/2.7.5/bin/log_sense:23:in `load'
107
+ 10: from /home/octopus/.gem/ruby/2.7.5/gems/log_sense-1.4.0/exe/log_sense:50:in `<top (required)>'
108
+ 9: from /home/octopus/.gem/ruby/2.7.5/gems/log_sense-1.4.0/lib/log_sense/ip_locator.rb:53:in `geolocate'
109
+ 8: from /home/octopus/.gem/ruby/2.7.5/gems/log_sense-1.4.0/lib/log_sense/ip_locator.rb:53:in `each'
110
+ 7: from /home/octopus/.gem/ruby/2.7.5/gems/log_sense-1.4.0/lib/log_sense/ip_locator.rb:54:in `block in geolocate'
111
+ 6: from /home/octopus/.gem/ruby/2.7.5/gems/log_sense-1.4.0/lib/log_sense/ip_locator.rb:39:in `locate_ip'
112
+ 5: from /home/octopus/.gem/ruby/2.7.5/gems/log_sense-1.4.0/lib/log_sense/ip_locator.rb:39:in `new'
113
+ 4: from /opt/rubies/ruby-2.7.5/lib/ruby/2.7.0/ipaddr.rb:580:in `initialize'
114
+ 3: from /opt/rubies/ruby-2.7.5/lib/ruby/2.7.0/ipaddr.rb:620:in `in_addr'
115
+ 2: from /opt/rubies/ruby-2.7.5/lib/ruby/2.7.0/ipaddr.rb:620:in `inject'
116
+ 1: from /opt/rubies/ruby-2.7.5/lib/ruby/2.7.0/ipaddr.rb:620:in `each'
117
+ /optbies/ruby-2.7.5/lib/ruby/2.7.0/ipaddr.rb:621:in `block in in_addr': invalid address (IPAddr::InvalidAddressError)
118
+ 9: from /home/octopus/.gem/ruby/2.7.5/bin/log_sense:23:in `<main>'
119
+ 8: from /home/octopus/.gem/ruby/2.7.5/bin/log_sense:23:in `load'
120
+ 7: from /home/octopus/.gem/ruby/2.7.5/gems/log_sense-1.4.0/exe/log_sense:50:in `<top (required)>'
121
+ 6: from /home/octopus/.gem/ruby/2.7.5/gems/log_sense-1.4.0/lib/log_sense/ip_locator.rb:53:in `geolocate'
122
+ 5: from /home/octopus/.gem/ruby/2.7.5/gems/log_sense-1.4.0/lib/log_sense/ip_locator.rb:53:in `each'
123
+ 4: from /home/octopus/.gem/ruby/2.7.5/gems/log_sense-1.4.0/lib/log_sense/ip_locator.rb:54:in `block in geolocate'
124
+ 3: from /home/octopus/.gem/ruby/2.7.5/gems/log_sense-1.4.0/lib/log_sense/ip_locator.rb:39:in `locate_ip'
125
+ 2: from /home/octopus/.gem/ruby/2.7.5/gems/log_sense-1.4.0/lib/log_sense/ip_locator.rb:39:in `new'
126
+ 1: from /opt/rubies/ruby-2.7.5/lib/ruby/2.7.0/ipaddr.rb:557:in `initialize'
127
+ /optbies/ruby-2.7.5/lib/ruby/2.7.0/ipaddr.rb:598:in `rescue in initialize': invalid address: 437.176.99.144 (IPAddr::InvalidAddressError)
128
+
129
+ ** D HTML menu should be built from @reports
130
+ :PERTIES:
131
+ :HIVE_TIME: 2024-08-01 Thu 08:18
132
+ :HIVE_FILE: ~/Sources/ruby/log_sense/todo.org
133
+ :HIVE_OLPATH: Check
134
+ :HIVE_CATEGORY: todo
135
+ :HIVE_TODO: DONE
136
+ ::
137
+ :BOOK:
138
+ -ate "DONE" from "TODO" [2022-03-08 Tue 12:50]
139
+ ::
140
+
141
+ ** D Summary Table: Unique visits per day should be an integer (it is presented as a float, instead)
142
+ :PERTIES:
143
+ :HIVE_TIME: 2024-08-01 Thu 08:18
144
+ :HIVE_FILE: ~/Sources/ruby/log_sense/todo.org
145
+ :HIVE_OLPATH: Check
146
+ :HIVE_CATEGORY: todo
147
+ :HIVE_TODO: DONE
148
+ ::
149
+ :BOOK:
150
+ -ate "DONE" from "TODO" [2022-03-08 Tue 12:51]
151
+ ::
152
+
153
+ ** D Streaks, add total entries, total HTML, total other resources
154
+ :PERTIES:
155
+ :HIVE_TIME: 2024-08-01 Thu 08:18
156
+ :HIVE_FILE: ~/Sources/ruby/log_sense/todo.org
157
+ :HIVE_OLPATH: Check
158
+ :HIVE_CATEGORY: todo
159
+ :HIVE_TODO: DONE
160
+ ::
161
+ :BOOK:
162
+ -ate "DONE" from "TODO" [2022-03-08 Tue 18:02]
163
+ ::
164
+
165
+ ** D GeoIP: Add a task to automatically update IP Geolocation Database
166
+ :PERTIES:
167
+ :HIVE_TIME: 2024-08-01 Thu 08:18
168
+ :HIVE_FILE: ~/Sources/ruby/log_sense/todo.org
169
+ :HIVE_OLPATH: Check
170
+ :HIVE_CATEGORY: todo
171
+ :HIVE_TODO: DONE
172
+ ::
173
+ :BOOK:
174
+ -ate "DONE" from "TODO" [2022-03-08 Tue 18:02]
175
+ ::
176
+
177
+ ** D Remove dependency from Zurb Icons (used only for the hamburger)
178
+ :PROPERTIES:
179
+ :ARCHIVE_TIME: 2024-08-01 Thu 08:18
180
+ :ARCHIVE_FILE: ~/Sources/ruby/log_sense/todo.org
181
+ :ARCHIVE_OLPATH: Check
182
+ :ARCHIVE_CATEGORY: todo
183
+ :ARCHIVE_TODO: DONE
184
+ :END:
185
+ :LOGBOOK:
186
+ - State "DONE" from "TODO" [2022-03-08 Tue 23:03]
187
+ :END:
188
+
189
+ ** REJECTED add remaining reports (summary, performance, log structure) to the list defined in emitter
190
+ :PROPERTIES:
191
+ :ARCHIVE_TIME: 2024-08-01 Thu 08:18
192
+ :ARCHIVE_FILE: ~/Sources/ruby/log_sense/todo.org
193
+ :ARCHIVE_OLPATH: Check
194
+ :ARCHIVE_CATEGORY: todo
195
+ :ARCHIVE_TODO: REJECTED
196
+ :END:
197
+ :LOGBOOK:
198
+ - State "REJECTED" from "TODO" [2022-03-09 Wed 08:59] \\
199
+ - these reports use different formats (stats-list) and are not easily standardized
200
+ :END:
201
+
202
+ ** D Check Apache Report working
203
+ :PROPERTIES:
204
+ :ARCHIVE_TIME: 2024-08-01 Thu 08:19
205
+ :ARCHIVE_FILE: ~/Sources/ruby/log_sense/todo.org
206
+ :ARCHIVE_OLPATH: Check
207
+ :ARCHIVE_CATEGORY: todo
208
+ :ARCHIVE_TODO: D
209
+ :END:
210
+
211
+ ** D Restore Streaks in both reports
212
+ :PROPERTIES:
213
+ :ARCHIVE_TIME: 2024-08-01 Thu 08:19
214
+ :ARCHIVE_FILE: ~/Sources/ruby/log_sense/todo.org
215
+ :ARCHIVE_OLPATH: Check
216
+ :ARCHIVE_CATEGORY: todo
217
+ :ARCHIVE_TODO: D
218
+ :END:
219
+
220
+ ** D Restore Country table
221
+ :PROPERTIES:
222
+ :ARCHIVE_TIME: 2024-08-01 Thu 08:19
223
+ :ARCHIVE_FILE: ~/Sources/ruby/log_sense/todo.org
224
+ :ARCHIVE_OLPATH: Check
225
+ :ARCHIVE_CATEGORY: todo
226
+ :ARCHIVE_TODO: D
227
+ :END:
228
+
229
+ ** D Add UFW Report
230
+ :PROPERTIES:
231
+ :ARCHIVE_TIME: 2024-08-01 Thu 08:19
232
+ :ARCHIVE_FILE: ~/Sources/ruby/log_sense/todo.org
233
+ :ARCHIVE_OLPATH: Check
234
+ :ARCHIVE_CATEGORY: todo
235
+ :ARCHIVE_TODO: D
236
+ :END:
237
+
238
+ ** D Add IP by Time in Apache Report
239
+ :PROPERTIES:
240
+ :ARCHIVE_TIME: 2024-08-01 Thu 08:21
241
+ :ARCHIVE_FILE: ~/Sources/ruby/log_sense/todo.org
242
+ :ARCHIVE_OLPATH: Check
243
+ :ARCHIVE_CATEGORY: todo
244
+ :ARCHIVE_TODO: D
245
+ :END:
246
+
247
+ ** D Performance and Command Line invocation appear twice in the navigation menu
248
+ :PROPERTIES:
249
+ :ARCHIVE_TIME: 2024-08-01 Thu 08:21
250
+ :ARCHIVE_FILE: ~/Sources/ruby/log_sense/todo.org
251
+ :ARCHIVE_OLPATH: Check
252
+ :ARCHIVE_CATEGORY: todo
253
+ :ARCHIVE_TODO: D
254
+ :END:
255
+
256
+ ** DUPLICATE night and light themes
257
+ :PROPERTIES:
258
+ :ARCHIVE_TIME: 2024-08-01 Thu 08:21
259
+ :ARCHIVE_FILE: ~/Sources/ruby/log_sense/todo.org
260
+ :ARCHIVE_OLPATH: Check
261
+ :ARCHIVE_CATEGORY: todo
262
+ :ARCHIVE_TODO: DUPLICATE
263
+ :END:
264
+
265
+ ** REJECTED off-canvas does work as expected (older version was a lot better)
266
+ :PROPERTIES:
267
+ :ARCHIVE_TIME: 2024-08-01 Thu 08:21
268
+ :ARCHIVE_FILE: ~/Sources/ruby/log_sense/todo.org
269
+ :ARCHIVE_OLPATH: Check
270
+ :ARCHIVE_CATEGORY: todo
271
+ :ARCHIVE_TODO: REJECTED
272
+ :END:
273
+ (it re-centers when showing right cells)
274
+
275
+ ** REJECTED put together apache and rails txt reports (same partial, they are basically the same)
276
+ :PROPERTIES:
277
+ :ARCHIVE_TIME: 2024-08-01 Thu 08:22
278
+ :ARCHIVE_FILE: ~/Sources/ruby/log_sense/todo.org
279
+ :ARCHIVE_OLPATH: Check
280
+ :ARCHIVE_CATEGORY: todo
281
+ :ARCHIVE_TODO: REJECTED
282
+ :END:
283
+
284
+ ** REJECTED put together apache and rails html reports (same partial, they are basically the same)
285
+ :PROPERTIES:
286
+ :ARCHIVE_TIME: 2024-08-01 Thu 08:22
287
+ :ARCHIVE_FILE: ~/Sources/ruby/log_sense/todo.org
288
+ :ARCHIVE_OLPATH: Check
289
+ :ARCHIVE_CATEGORY: todo
290
+ :ARCHIVE_TODO: REJECTED
291
+ :END:
292
+
293
+ ** REJECTED remove column specifications for DataTable in report specification
294
+ :PROPERTIES:
295
+ :ARCHIVE_TIME: 2024-08-01 Thu 08:22
296
+ :ARCHIVE_FILE: ~/Sources/ruby/log_sense/todo.org
297
+ :ARCHIVE_OLPATH: Check
298
+ :ARCHIVE_CATEGORY: todo
299
+ :ARCHIVE_TODO: REJECTED
300
+ :END:
301
+
302
+ ** REJECTED Factor common methods in report_shaper
303
+ :PROPERTIES:
304
+ :ARCHIVE_TIME: 2024-08-01 Thu 08:22
305
+ :ARCHIVE_FILE: ~/Sources/ruby/log_sense/todo.org
306
+ :ARCHIVE_OLPATH: Check
307
+ :ARCHIVE_CATEGORY: todo
308
+ :ARCHIVE_TODO: REJECTED
309
+ :END:
metadata CHANGED
@@ -1,114 +1,114 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: log_sense
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adolfo Villafiorita
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-08-02 00:00:00.000000000 Z
11
+ date: 2024-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: browser
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 5.3.0
20
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: '0'
26
+ version: 5.3.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: ipaddr
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 1.2.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 1.2.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: iso_country_codes
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 0.7.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 0.7.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: sqlite3
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 2.0.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: 2.0.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: terminal-table
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: 3.0.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 3.0.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: debug
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: 1.9.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: 1.9.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: minitest
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: 5.24.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
111
- description: Generate analytics in HTML, txt, and SQLite format for Apache and Rails
110
+ version: 5.24.0
111
+ description: Generate analytics in HTML, txt, and SQLite format for Rails and Apache/Nginx
112
112
  log files.
113
113
  email:
114
114
  - adolfo@shair.tech
@@ -142,6 +142,7 @@ files:
142
142
  - lib/log_sense/rails_aggregator.rb
143
143
  - lib/log_sense/rails_report_shaper.rb
144
144
  - lib/log_sense/report_shaper.rb
145
+ - lib/log_sense/templates/_apache_theme.css
145
146
  - lib/log_sense/templates/_cdn_links.html.erb
146
147
  - lib/log_sense/templates/_command_invocation.html.erb
147
148
  - lib/log_sense/templates/_command_invocation.txt.erb
@@ -151,7 +152,7 @@ files:
151
152
  - lib/log_sense/templates/_output_table.txt.erb
152
153
  - lib/log_sense/templates/_performance.html.erb
153
154
  - lib/log_sense/templates/_performance.txt.erb
154
- - lib/log_sense/templates/_rails.css.erb
155
+ - lib/log_sense/templates/_rails_theme.css
155
156
  - lib/log_sense/templates/_report_data.html.erb
156
157
  - lib/log_sense/templates/_stylesheet.css
157
158
  - lib/log_sense/templates/_summary.html.erb
@@ -159,12 +160,14 @@ files:
159
160
  - lib/log_sense/templates/_warning.txt.erb
160
161
  - lib/log_sense/templates/report_html.erb
161
162
  - lib/log_sense/templates/report_txt.erb
163
+ - lib/log_sense/templates/world.svg
162
164
  - lib/log_sense/version.rb
163
165
  - log_sense.gemspec
164
166
  - sample_logs/safety-critical_org.log
165
167
  - sample_logs/spmbook_com.log
166
- - screenshots/apache-screenshot.png
168
+ - screenshots/combined_log-screenshot.png
167
169
  - screenshots/rails-screenshot.png
170
+ - todo.org
168
171
  homepage: https://github.com/shair-tech/log_sense/
169
172
  licenses:
170
173
  - MIT
@@ -188,8 +191,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
191
  - !ruby/object:Gem::Version
189
192
  version: '0'
190
193
  requirements: []
191
- rubygems_version: 3.3.26
194
+ rubygems_version: 3.5.17
192
195
  signing_key:
193
196
  specification_version: 4
194
- summary: Generate analytics for Apache and Rails log file.
197
+ summary: Generate analytics for Rails and Apache/Nginx log file.
195
198
  test_files: []
@@ -1,20 +0,0 @@
1
- :root {
2
- --main-accent: #D30001;
3
- }
4
-
5
- /*
6
- @media (prefers-color-scheme: dark) {
7
- :root {
8
- --main-accent: #DA2627;
9
- }
10
- }
11
- */
12
-
13
- #offCanvas {
14
- background: var(--main-accent) !important;
15
- }
16
-
17
- h1, h2 {
18
- color: var(--main-accent) !important;
19
- }
20
-
Binary file