logster 2.20.1 → 3.0.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 +4 -4
- data/CHANGELOG.md +23 -92
- data/README.md +29 -14
- data/assets/javascript/main-B82IoCiW.js +1 -0
- data/assets/javascript/modules-4-12-BHA4lR2U.js +1 -0
- data/assets/javascript/vendor.js +11 -5260
- data/assets/logster-config.json +18 -0
- data/assets/manifest.json +23 -0
- data/assets/stylesheets/main-CgAFFyi8.css +1 -0
- data/lib/logster/configuration.rb +1 -0
- data/lib/logster/group.rb +2 -2
- data/lib/logster/message.rb +4 -4
- data/lib/logster/middleware/reporter.rb +34 -3
- data/lib/logster/middleware/viewer.rb +205 -33
- data/lib/logster/rails/railtie.rb +4 -20
- data/lib/logster/redis_store.rb +0 -2
- data/lib/logster/version.rb +1 -1
- data/lib/logster.rb +1 -1
- metadata +17 -186
- data/.github/workflows/ci.yml +0 -140
- data/.gitignore +0 -3
- data/.rubocop.yml +0 -8
- data/.streerc +0 -2
- data/Gemfile +0 -10
- data/Guardfile +0 -10
- data/Rakefile +0 -27
- data/assets/javascript/.gitkeep +0 -0
- data/assets/javascript/chunk.524.c3042190e39d148beaf9.js +0 -22
- data/assets/javascript/chunk.582.695dcbfb11a784b110cd.js +0 -22
- data/assets/javascript/chunk.747.a730c497582bb6742a6e.js +0 -579
- data/assets/javascript/chunk.761.64949d89942c829e5c1b.js +0 -1213
- data/assets/javascript/client-app.js +0 -1390
- data/assets/stylesheets/.gitkeep +0 -0
- data/assets/stylesheets/client-app.css +0 -1
- data/assets/stylesheets/vendor.css +0 -1
- data/build_client_app.sh +0 -10
- data/client-app/.editorconfig +0 -19
- data/client-app/.ember-cli +0 -9
- data/client-app/.eslintignore +0 -20
- data/client-app/.eslintrc +0 -10
- data/client-app/.gitignore +0 -23
- data/client-app/.prettierignore +0 -21
- data/client-app/.prettierrc +0 -1
- data/client-app/.template-lintrc.js +0 -10
- data/client-app/.watchmanconfig +0 -3
- data/client-app/README.md +0 -56
- data/client-app/app/app.js +0 -12
- data/client-app/app/components/actions-menu.js +0 -50
- data/client-app/app/components/back-to-site-link.js +0 -9
- data/client-app/app/components/back-trace.js +0 -153
- data/client-app/app/components/env-tab.js +0 -68
- data/client-app/app/components/message-info.js +0 -151
- data/client-app/app/components/message-row.js +0 -46
- data/client-app/app/components/page-nav.js +0 -42
- data/client-app/app/components/panel-resizer.js +0 -108
- data/client-app/app/components/patterns-list.js +0 -142
- data/client-app/app/components/tab-contents.js +0 -23
- data/client-app/app/components/tabbed-section.js +0 -45
- data/client-app/app/components/time-formatter.js +0 -36
- data/client-app/app/controllers/index.js +0 -269
- data/client-app/app/controllers/show.js +0 -39
- data/client-app/app/helpers/logster-url.js +0 -12
- data/client-app/app/helpers/or.js +0 -7
- data/client-app/app/index.html +0 -31
- data/client-app/app/initializers/app-init.js +0 -71
- data/client-app/app/lib/decorators.js +0 -13
- data/client-app/app/lib/preload.js +0 -43
- data/client-app/app/lib/utilities.js +0 -230
- data/client-app/app/models/group.js +0 -34
- data/client-app/app/models/message-collection.js +0 -303
- data/client-app/app/models/message.js +0 -128
- data/client-app/app/models/pattern-item.js +0 -32
- data/client-app/app/resolver.js +0 -3
- data/client-app/app/router.js +0 -13
- data/client-app/app/routes/index.js +0 -64
- data/client-app/app/routes/settings.js +0 -32
- data/client-app/app/routes/show.js +0 -16
- data/client-app/app/services/events.js +0 -4
- data/client-app/app/styles/app.css +0 -829
- data/client-app/app/templates/application.hbs +0 -1
- data/client-app/app/templates/components/actions-menu.hbs +0 -31
- data/client-app/app/templates/components/back-to-site-link.hbs +0 -8
- data/client-app/app/templates/components/back-trace.hbs +0 -15
- data/client-app/app/templates/components/env-tab.hbs +0 -10
- data/client-app/app/templates/components/message-info.hbs +0 -86
- data/client-app/app/templates/components/message-row.hbs +0 -32
- data/client-app/app/templates/components/page-nav.hbs +0 -37
- data/client-app/app/templates/components/panel-resizer.hbs +0 -3
- data/client-app/app/templates/components/patterns-list.hbs +0 -78
- data/client-app/app/templates/components/tabbed-section.hbs +0 -18
- data/client-app/app/templates/components/time-formatter.hbs +0 -1
- data/client-app/app/templates/index.hbs +0 -165
- data/client-app/app/templates/settings.hbs +0 -47
- data/client-app/app/templates/show.hbs +0 -13
- data/client-app/config/ember-cli-update.json +0 -18
- data/client-app/config/environment.js +0 -51
- data/client-app/config/icons.js +0 -28
- data/client-app/config/optional-features.json +0 -6
- data/client-app/config/targets.js +0 -26
- data/client-app/ember-cli-build.js +0 -28
- data/client-app/package.json +0 -76
- data/client-app/preload-json-manager.rb +0 -35
- data/client-app/public/assets/images/icon_144x144.png +0 -0
- data/client-app/public/assets/images/icon_64x64.png +0 -0
- data/client-app/testem.js +0 -23
- data/client-app/tests/index.html +0 -41
- data/client-app/tests/integration/components/back-to-site-link-test.js +0 -20
- data/client-app/tests/integration/components/back-trace-test.js +0 -138
- data/client-app/tests/integration/components/env-tab-test.js +0 -220
- data/client-app/tests/integration/components/message-info-test.js +0 -122
- data/client-app/tests/integration/components/patterns-list-test.js +0 -76
- data/client-app/tests/test-helper.js +0 -12
- data/client-app/tests/unit/controllers/index-test.js +0 -77
- data/client-app/tests/unit/controllers/show-test.js +0 -12
- data/client-app/tests/unit/routes/index-test.js +0 -11
- data/client-app/tests/unit/routes/show-test.js +0 -11
- data/client-app/yarn.lock +0 -9905
- data/gemfiles/rails_6.1.gemfile +0 -12
- data/gemfiles/rails_7.0.gemfile +0 -12
- data/gemfiles/rails_7.1.gemfile +0 -9
- data/gemfiles/rails_7.2.gemfile +0 -9
- data/logster.gemspec +0 -43
- data/test/dummy/config/application.rb +0 -31
- data/test/dummy/config/boot.rb +0 -6
- data/test/dummy/config/environment.rb +0 -6
- data/test/examples/test_sidekiq_reporter_example.rb +0 -47
- data/test/fake_data/Gemfile +0 -6
- data/test/fake_data/generate.rb +0 -23
- data/test/logster/middleware/test_reporter.rb +0 -84
- data/test/logster/middleware/test_viewer.rb +0 -495
- data/test/logster/test_base_store.rb +0 -224
- data/test/logster/test_cache.rb +0 -39
- data/test/logster/test_defer_logger.rb +0 -36
- data/test/logster/test_group.rb +0 -92
- data/test/logster/test_ignore_pattern.rb +0 -42
- data/test/logster/test_logger.rb +0 -177
- data/test/logster/test_message.rb +0 -269
- data/test/logster/test_pattern.rb +0 -144
- data/test/logster/test_railtie.rb +0 -21
- data/test/logster/test_redis_rate_limiter.rb +0 -246
- data/test/logster/test_redis_store.rb +0 -1165
- data/test/test_helper.rb +0 -44
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: eb3cace958418f67569d2d5847ae6abf08903a8a5d5114e9472e894a22379e1d
|
|
4
|
+
data.tar.gz: 9eb299f2e3e48cb69286f3d04b51beb6ef02a7c5f01c2bf9b1c88420b1ac85a9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bf7c85b2e804442dd43e64c50b8bd178a85d70746b7ee1d27cbe75842d0afbbffb711a87e14739ab2d899e1a22e8150e68ea440279b74cbacbabba33b7037355
|
|
7
|
+
data.tar.gz: 58d5fc04bc4a430a1f8f56d1c51b9be1447224517ddecc934abd0ad3d5d131fccc595d13c30ae19c9aaa68f4c9db2f8791a4a1ac1d2fa6ddc57b19a17a384f17
|
data/CHANGELOG.md
CHANGED
|
@@ -1,156 +1,143 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
-
-
|
|
3
|
+
- 2026-10-19: 3.0.0
|
|
4
|
+
|
|
5
|
+
- BREAKING: Require Ruby 3.3 or newer; support is now focused on maintained Ruby 3.3, 3.4, and 4.0 releases
|
|
6
|
+
- BREAKING: Drop support for Rails versions before 8.0; Rails 8.0 and 8.1 are now supported
|
|
7
|
+
- BREAKING: Target Rack 3.1–3.2, redis-rb 6.x, and Redis Open Source 8.10
|
|
8
|
+
- BREAKING: Require Node.js 24 and pnpm 10 for frontend development, replace Yarn with pnpm, and drop Internet Explorer 11 support
|
|
9
|
+
- SECURITY: Require the documented HTTP method and `X-Requested-With: XMLHttpRequest` header for mutating viewer endpoints; JavaScript error reports additionally accept browser-verified same-origin requests so `navigator.sendBeacon` remains supported; reject cross-site requests using `Origin` and `Sec-Fetch-Site`
|
|
10
|
+
- SECURITY: Add the optional `Logster.config.authorize_request` defense-in-depth callback for viewer routes
|
|
11
|
+
- SECURITY: Add no-store, referrer, content-type, and framing response headers, tighten the viewer Content Security Policy, and remove externally hosted Google Fonts
|
|
12
|
+
- UX: Improve grouping-pattern creation for grouped or unrelated messages, surface submission errors, and prevent duplicate submissions while saving
|
|
13
|
+
- UX: Add success and failure feedback when copying messages, support messages without environment data, and fall back for browsers without the Clipboard API
|
|
14
|
+
- UX: Drive the log search from the `search` query parameter so a search can be linked to and reloaded
|
|
15
|
+
- FIX: Keep protect and unprotect actions in sync with request results, restoring their previous state when a request fails
|
|
16
|
+
- FIX: Correct pattern settings state handling for plain JSON arrays and newly created or removed patterns
|
|
17
|
+
- DEV: Upgrade the client from Ember 3.28 to Ember 7.2 and serve the scripts and stylesheets listed in a manifest generated by the Ember build
|
|
18
|
+
- DEV: Convert the client components and route templates to Glimmer GJS
|
|
19
|
+
- DEV: Add a unified `bundle exec rake dev` workflow that installs dependencies, starts the backend and frontend, waits for readiness, and opens the app
|
|
20
|
+
- DEV: Add a reusable sample-data loader and richer development fixtures, and run the website tests in CI
|
|
21
|
+
- DEV: Ship only the runtime files and the built frontend assets in the gem, and verify the packaged assets before a release
|
|
22
|
+
|
|
23
|
+
- 2026-04-29: 2.21.0
|
|
24
|
+
- FEATURE: Allow editing grouping pattern before submitting
|
|
4
25
|
|
|
26
|
+
- 2025-02-06: 2.20.1
|
|
5
27
|
- FIX: Don't break search when providing invalid regex characters
|
|
6
28
|
|
|
7
29
|
- 2024-07-05: 2.20.0
|
|
8
|
-
|
|
9
30
|
- Dropped support for Ruby 3.0
|
|
10
31
|
- Add `Logster::Logger#subscribe` which allows subscribing to log events from `Logster::Logger`.
|
|
11
32
|
|
|
12
33
|
- 2024-03-12: 2.19.1
|
|
13
|
-
|
|
14
34
|
- FIX: Don’t truncate backtrace on copying
|
|
15
35
|
|
|
16
36
|
- 2024-02-28: 2.19.0
|
|
17
|
-
|
|
18
37
|
- FIX: Add compatibility with Rails 7.1+
|
|
19
38
|
|
|
20
39
|
- 2024-02-19: 2.18.1
|
|
21
|
-
|
|
22
40
|
- UX: backlink in dark mode has a dark background
|
|
23
41
|
|
|
24
42
|
- 2024-02-15: 2.18.0
|
|
25
|
-
|
|
26
43
|
- FEATURE: Implement a default Content-Security-Policy
|
|
27
44
|
|
|
28
45
|
- 2024-02-15: 2.17.1
|
|
29
|
-
|
|
30
46
|
- UX: fixed top menu when backlink to the site exists
|
|
31
47
|
|
|
32
48
|
- 2024-02-15: 2.17.0
|
|
33
|
-
|
|
34
49
|
- FEATURE: backlink to site
|
|
35
50
|
|
|
36
51
|
- 2024-01-19: 2.16.0
|
|
37
|
-
|
|
38
52
|
- FEATURE: Add inline grouping pattern creation
|
|
39
53
|
|
|
40
54
|
- 2024-01-16: 2.15.0
|
|
41
|
-
|
|
42
55
|
- FEATURE: Add loading spinner
|
|
43
56
|
|
|
44
57
|
- 2024-01-15: 2.14.0
|
|
45
|
-
|
|
46
58
|
- FEATURE: Stop grouping logs with different messages
|
|
47
59
|
|
|
48
60
|
- 2023-11-01: 2.13.1
|
|
49
|
-
|
|
50
61
|
- FIX: Solve/remove buttons on 'share' page
|
|
51
62
|
|
|
52
63
|
- 2023-10-03: 2.13.0
|
|
53
|
-
|
|
54
64
|
- FEATURE: Format messages with Logster::Logger#formatter before storing
|
|
55
65
|
|
|
56
66
|
- 2023-03-10: 2.12.2
|
|
57
|
-
|
|
58
67
|
- FIX: Don't throw on non-gem backtrace lines
|
|
59
68
|
|
|
60
69
|
- 2023-03-10: 2.12.1
|
|
61
70
|
Note: 2.12.0 was yanked due to a release process error
|
|
62
|
-
|
|
63
71
|
- DEV: Upgrade to Ember 3.28
|
|
64
72
|
|
|
65
73
|
- 2023-01-30: 2.11.4
|
|
66
|
-
|
|
67
74
|
- DEV: Various dependencies upgrade
|
|
68
75
|
- FIX: Switch the `/messages.json` endpoint from `GET` to `POST`
|
|
69
76
|
|
|
70
77
|
- 2022-08-25: 2.11.3
|
|
71
|
-
|
|
72
78
|
- DEV: Avoid deprecation warning in Redis 4.8 (#166)
|
|
73
79
|
|
|
74
80
|
- 2022-04-28: 2.11.2
|
|
75
|
-
|
|
76
81
|
- FIX: store override level in thread local storage (Truffle Ruby compatibility)
|
|
77
82
|
|
|
78
83
|
- 2022-04-21: 2.11.1
|
|
79
|
-
|
|
80
84
|
- FIX: Redis pipelining deprecation (#159)
|
|
81
85
|
|
|
82
86
|
- 2022-03-12: 2.11.0
|
|
83
|
-
|
|
84
87
|
- FEATURE: Improve support for logging error objects (#153)
|
|
85
88
|
|
|
86
89
|
- 2021-11-26: 2.10.1
|
|
87
|
-
|
|
88
90
|
- UX: More dark-mode related changes
|
|
89
91
|
|
|
90
92
|
- 2021-11-26: 2.10.0
|
|
91
|
-
|
|
92
93
|
- FEATURE: Introduce dark mode
|
|
93
94
|
|
|
94
95
|
- 2021-10-27: 2.9.8
|
|
95
|
-
|
|
96
96
|
- FIX: We weren't properly memoizing the hostname
|
|
97
97
|
|
|
98
98
|
- 2021-07-01: 2.9.7
|
|
99
|
-
|
|
100
99
|
- FEATURE: Optionally use full hostname
|
|
101
100
|
|
|
102
101
|
- 2021-02-19: 2.9.6
|
|
103
|
-
|
|
104
102
|
- UX: Make `Warn` level visible by default
|
|
105
103
|
|
|
106
104
|
- 2021-01-21: 2.9.5
|
|
107
|
-
|
|
108
105
|
- FIX: Stop encoding errors when converting Message objects to JSON (#128)
|
|
109
106
|
- DEV: Bump dependencies
|
|
110
107
|
|
|
111
108
|
- 2020-09-01: 2.9.4
|
|
112
|
-
|
|
113
109
|
- FEATURE: Merge messages differing only by numbers (#118)
|
|
114
110
|
- DEV: Bump dependencies
|
|
115
111
|
- UX: Turn severities below `Error` off by default and remember changes using localStorage (#125)
|
|
116
112
|
|
|
117
113
|
- 2020-08-20: 2.9.3
|
|
118
|
-
|
|
119
114
|
- FIX: fix code that causes warning from recent redis gem
|
|
120
115
|
|
|
121
116
|
- 2020-08-11: 2.9.2
|
|
122
|
-
|
|
123
117
|
- FIX: `report_js_error` incorrectly denying logs when Redis#exists returns integer
|
|
124
118
|
|
|
125
119
|
- 2020-07-20: 2.9.1
|
|
126
|
-
|
|
127
120
|
- FIX: Missing application backtrace in chained loggers.
|
|
128
121
|
|
|
129
122
|
- 2020-06-11: 2.9.0
|
|
130
|
-
|
|
131
123
|
- FEATURE: Allows JS errors to specify a log severity
|
|
132
124
|
- DEV: Several dependencies upgrades
|
|
133
125
|
- FIX: Don't search if the phrase hasn't changed
|
|
134
126
|
- UX: Distinguish the value of the current env from the values of other envs in a merged message
|
|
135
127
|
|
|
136
128
|
- 2020-03-30: 2.8.0
|
|
137
|
-
|
|
138
129
|
- FEATURE: Upgrade icons to Font Awesome 5
|
|
139
130
|
|
|
140
131
|
- 2020-03-03: 2.7.1
|
|
141
|
-
|
|
142
132
|
- FIX: Stop env mutation to allow all chained loggers to have the same env (#110)
|
|
143
133
|
|
|
144
134
|
- 2020-02-26: 2.7.0
|
|
145
|
-
|
|
146
135
|
- FEATURE: Make log message max length configurable and bump the default to 2000 (#109)
|
|
147
136
|
|
|
148
137
|
- 2020-02-17: 2.6.3
|
|
149
|
-
|
|
150
138
|
- FIX: Respect redis namespace when fetching env using LUA
|
|
151
139
|
|
|
152
140
|
- 2020-02-09: 2.6.2
|
|
153
|
-
|
|
154
141
|
- FIX: Regression with rendering single env when `env_expandable_keys` config is present
|
|
155
142
|
- DEV: Fix Ember deprecations in tests
|
|
156
143
|
- DEV: Add more tests to env rendering
|
|
@@ -159,11 +146,9 @@
|
|
|
159
146
|
- FIX: Fetch env when navigating through grouped messages
|
|
160
147
|
|
|
161
148
|
- 2020-02-07: 2.6.1
|
|
162
|
-
|
|
163
149
|
- FIX: Fetch env when row is selected to allow copy to work on Firefox
|
|
164
150
|
|
|
165
151
|
- 2020-02-07: 2.6.0
|
|
166
|
-
|
|
167
152
|
- DEV: Bump handlebars from 4.1.2 to 4.5.3 in /client-app (#102)
|
|
168
153
|
- FEATURE: Linkify backtrace lines to github (#104)
|
|
169
154
|
- UX: Keep the 50 most recent envs rather than the first 50 (#103). Also introduces new config options `max_env_bytes` and `max_env_count_per_message`.
|
|
@@ -172,7 +157,6 @@
|
|
|
172
157
|
- DEV: Upgrade Ember to 3.15 and remove jQuery and lodash as dependencies (#107)
|
|
173
158
|
|
|
174
159
|
- 2019-12-13: 2.5.1
|
|
175
|
-
|
|
176
160
|
- DEV: Bump puma from 4.2.1 to 4.3.1 in /website (#100)
|
|
177
161
|
- FIX: Don't include messages that were removed from groups due to max size limit
|
|
178
162
|
- FIX: loadingEnv is an attribute of model
|
|
@@ -180,7 +164,6 @@
|
|
|
180
164
|
- UX: Group count attribute should be a long-running number of errors, not just the number of errors the group currently contains
|
|
181
165
|
|
|
182
166
|
- 2019-12-12: 2.5.0
|
|
183
|
-
|
|
184
167
|
- DEV: Update to latest version of gems
|
|
185
168
|
- FIX: when rate limiting return an object responding to each
|
|
186
169
|
- FEATURE: Expose the search phrase in query params
|
|
@@ -188,11 +171,9 @@
|
|
|
188
171
|
- FEATURE: Custom grouping patterns
|
|
189
172
|
|
|
190
173
|
- 2019-10-28: 2.4.2
|
|
191
|
-
|
|
192
174
|
- FIX: wrong number of arguments when adding message using a block (#98)
|
|
193
175
|
|
|
194
176
|
- 2019-10-17: 2.4.1
|
|
195
|
-
|
|
196
177
|
- PERF: Debounce search field so it doesn't fire a search query at every keystroke.
|
|
197
178
|
- PERF: Disallow search terms that are fewer than 2 characters long.
|
|
198
179
|
- PERF: Bypass refresh cycle if previous cycle hasn't finished.
|
|
@@ -200,63 +181,50 @@
|
|
|
200
181
|
- PERF: Cap message size to 60,000 bytes by default.
|
|
201
182
|
|
|
202
183
|
- 2019-10-10: 2.4.0
|
|
203
|
-
|
|
204
184
|
- FEATURE: Allow having retroactive affect when adding suppression patterns
|
|
205
185
|
- DEV: Bump JS dependencies
|
|
206
186
|
|
|
207
187
|
- 2019-10-08: 2.3.3
|
|
208
|
-
|
|
209
188
|
- FEATURE: keep track of message timestamp when it's merged into another message
|
|
210
189
|
|
|
211
190
|
- 2019-08-20: 2.3.2
|
|
212
|
-
|
|
213
191
|
- FEATURE: automatic 1 minute rate limiting for js error reporting per IP
|
|
214
192
|
|
|
215
193
|
- 2019-08-15: 2.3.1
|
|
216
|
-
|
|
217
194
|
- DEV: upgrade Ember to 3.8 and jQuery to 3.4.1 (#84)
|
|
218
195
|
- FIX: properly escape string ignore pattern (#88)
|
|
219
196
|
- FIX: scrub params if they have invalid encoding (#92)
|
|
220
197
|
|
|
221
198
|
- 2019-03-26: 2.3.0
|
|
222
|
-
|
|
223
199
|
- FEATURE: track count of suppressed logs for each pattern
|
|
224
200
|
|
|
225
201
|
- 2019-03-19: 2.2.0
|
|
226
|
-
|
|
227
202
|
- FEATURE: custom suppression patterns via UI
|
|
228
203
|
- UX: auto expand env keys when list length is <= 3
|
|
229
204
|
|
|
230
205
|
- 2019-03-14: Unreleased
|
|
231
|
-
|
|
232
206
|
- FIX: Logster message options missing when base logger is a sub-class of
|
|
233
207
|
`Logster::Logger`
|
|
234
208
|
|
|
235
209
|
- 2019-02-21: Version 2.1.2
|
|
236
|
-
|
|
237
210
|
- FEATURE: allow certain env keys to be expandable via `Logster.config.env_expandable_keys.push(:key, :another_key)`. See https://github.com/discourse/logster/pull/81 for more info
|
|
238
211
|
|
|
239
212
|
- 2019-02-21: Version 2.1.1
|
|
240
|
-
|
|
241
213
|
- FEATURE: allow defer logger to be disabled as Ruby 2.5.3 can segfault with defer logger due to a bug in Ruby. To disable run `Logster::Scheduler.disable`
|
|
242
214
|
|
|
243
215
|
- 2019-02-13: Version 2.1.0
|
|
244
|
-
|
|
245
216
|
- FEATURE/DEV: adds a defer logger that will do logging asynchronously only in dev environments. It should speed things up a little in dev.
|
|
246
217
|
|
|
247
218
|
- 2019-02-05: Version 2.0.1
|
|
248
|
-
|
|
249
219
|
- FIX: env line height issue on iOS
|
|
250
220
|
|
|
251
221
|
- 2019-01-17: Version 2.0.0.pre
|
|
252
|
-
|
|
253
222
|
- FIX: don't merge any new env samples if there are 50 samples (1.4.0.pre regression)
|
|
254
223
|
- UX: make env navigation controls stick to the top when scrolled
|
|
255
224
|
- PERF: store env samples separately from the rest of message data
|
|
256
225
|
- DEV: Rubocop
|
|
257
226
|
|
|
258
227
|
- 2019-01-09: Version 1.4.0.pre
|
|
259
|
-
|
|
260
228
|
- FEATURE: allow navigation through merged errors
|
|
261
229
|
- FEATURE: search should look at env
|
|
262
230
|
- FIX: deselect message if new filtering doesn't include selected message
|
|
@@ -264,85 +232,67 @@
|
|
|
264
232
|
- FIX: hide "load more" when there are no more messages and filters/search applied
|
|
265
233
|
|
|
266
234
|
- 2018-12-30: Version 1.3.4
|
|
267
|
-
|
|
268
235
|
- FIX: linear-gradient issue on iOS
|
|
269
236
|
- FIX: actions menu should have highest z-index
|
|
270
237
|
|
|
271
238
|
- 2018-12-26: Version 1.3.3
|
|
272
|
-
|
|
273
239
|
- Fix: fix double lines logs when date is too long
|
|
274
240
|
|
|
275
241
|
- 2018-12-25: Version 1.3.2
|
|
276
|
-
|
|
277
242
|
- UX: improve usability on mobile
|
|
278
243
|
|
|
279
244
|
- 2018-11-09: Version 1.3.1
|
|
280
|
-
|
|
281
245
|
- Feature: auto scrub invalid messages reported to logger
|
|
282
246
|
|
|
283
247
|
- 2018-11-09: Version 1.3.0
|
|
284
|
-
|
|
285
248
|
- Feature: upgrade Ember to 3.5.1
|
|
286
249
|
- Feature: remove inline JS for CSP compliance
|
|
287
250
|
|
|
288
251
|
- 2018-08-13: Version 1.2.10
|
|
289
|
-
|
|
290
252
|
- Feature: expose chained loggers in Logster::Logger
|
|
291
253
|
|
|
292
254
|
- 2017-10-27: Version 1.2.8
|
|
293
|
-
|
|
294
255
|
- Fix: `Logster::Middleware::DebugExceptions` is passed a request in Rails 5 instead of the env.
|
|
295
256
|
|
|
296
257
|
- 2017-01-30: Version 1.2.7
|
|
297
|
-
|
|
298
258
|
- Feature: Add override_level to Logster::Logger allowing for threadsafe logger override
|
|
299
259
|
|
|
300
260
|
- 2016-10-24: Version 1.2.6
|
|
301
|
-
|
|
302
261
|
- Fix: Check if `Rails.env` is defined when using Logster in a none Rails project.
|
|
303
262
|
|
|
304
263
|
- 2016-07-11: Version 1.2.5
|
|
305
|
-
|
|
306
264
|
- Fix: Chained `Logster::Logger` logger now receives backtrace as well.
|
|
307
265
|
|
|
308
266
|
- 2016-05-05: Version 1.2.4
|
|
309
|
-
|
|
310
267
|
- Fix: XSS in log message show if attacker can inject script into ENV
|
|
311
268
|
|
|
312
269
|
- 2016-05-05: Version 1.2.3
|
|
313
|
-
|
|
314
270
|
- Fix: clear_all now also clears rate limits
|
|
315
271
|
- Fix: protect against corrupt data in redis during clear
|
|
316
272
|
|
|
317
273
|
- 2016-03-22: Version 1.2.2
|
|
318
|
-
|
|
319
274
|
- Fix: Conflicting attributes and method name for `Logster::RedisStore#rate_limits`.
|
|
320
275
|
- Fix: Rate limit checker was tracking limits too early. It should only track when a message has been bumped or saved.
|
|
321
276
|
|
|
322
277
|
- 2016-03-22: Version 1.2.1
|
|
323
|
-
|
|
324
278
|
- Feature: Add method to retrieve current rate from rate limiters.
|
|
325
279
|
- Feature: Make `RedisStore#rate_limits` readable.
|
|
326
280
|
- Feature: Make `RedisRateLimiter#callback` and `RedisRateLimiter#duration` readable.
|
|
327
281
|
|
|
328
282
|
- 2016-03-18: Version 1.2.0
|
|
329
|
-
|
|
330
283
|
- Fix: Move Redis configuration into RedisStore.
|
|
331
284
|
- Feature: Allow `RedisStore#redis_prefix` to either be a String or a Proc.
|
|
332
285
|
|
|
333
286
|
- 2016-02-11: Version 1.1.1
|
|
334
|
-
|
|
335
287
|
- Feature: Error rate can now be tracked in one minute and one hour buckets.
|
|
336
288
|
|
|
337
289
|
- 2015-11-27: Version 1.0.1
|
|
338
|
-
|
|
339
290
|
- New assets and logster logo
|
|
340
291
|
- Added favicon
|
|
341
292
|
- Added title
|
|
342
293
|
- Use rails logger instead of invoking store
|
|
343
294
|
|
|
344
295
|
- 2015-08-18: Version 0.9.9
|
|
345
|
-
|
|
346
296
|
- This marks the largest release of Logster to date, it has been in production use for quite a while, hence the version bump.
|
|
347
297
|
- Feature: automatically group errors in production mode, can be manually controlled via Logster.config.allow_grouping
|
|
348
298
|
- Feature: automatically track application version, can be manually controlled via Logster.config.application_version
|
|
@@ -359,46 +309,36 @@
|
|
|
359
309
|
- Fix: protect/unprotect redirected to show page
|
|
360
310
|
|
|
361
311
|
- 2015-06-16: Version 0.8.3
|
|
362
|
-
|
|
363
312
|
- Chained loggers now respect chain ignore
|
|
364
313
|
- Add hostname and process_id to env on all messages
|
|
365
314
|
|
|
366
315
|
- 2015-06-10: Version 0.8.2
|
|
367
|
-
|
|
368
316
|
- Add hostname and process_id to env on all messages
|
|
369
317
|
|
|
370
318
|
- 2015-05-01: Version 0.8.1
|
|
371
|
-
|
|
372
319
|
- Don't crash out logging routine if redis is down or stderr is closed
|
|
373
320
|
|
|
374
321
|
- 2015-04-16: Version 0.8.0
|
|
375
|
-
|
|
376
322
|
- Improve formatting of /show page
|
|
377
323
|
- Big version bump cause it is quite stable
|
|
378
324
|
|
|
379
325
|
- 2015-02-27: Version 0.1.7
|
|
380
|
-
|
|
381
326
|
- Fix invalid request on ?test
|
|
382
327
|
|
|
383
328
|
- 2014-08-05: Version 0.1.3
|
|
384
|
-
|
|
385
329
|
- Automatically include ignore filter
|
|
386
330
|
|
|
387
331
|
- 2014-08-13: Version 0.1.6
|
|
388
|
-
|
|
389
332
|
- Simplify install process
|
|
390
333
|
- Fix crash on 404 in /logs dir
|
|
391
334
|
|
|
392
335
|
- 2014-08-10: Version 0.1.5
|
|
393
|
-
|
|
394
336
|
- Fix crash in Rails 3
|
|
395
337
|
|
|
396
338
|
- 2014-08-08: Version 0.1.4
|
|
397
|
-
|
|
398
339
|
- Fix crash in ignore filter
|
|
399
340
|
|
|
400
341
|
- 2014-07-17: Version 0.1.1
|
|
401
|
-
|
|
402
342
|
- Refactored report method into base_store.rb - will be easier to make a new log store
|
|
403
343
|
- Add link in UI to clear all (non-protected) logs
|
|
404
344
|
- Add example of submitting logs from Sidekiq jobs
|
|
@@ -406,42 +346,33 @@
|
|
|
406
346
|
- Render hashes provided via Logster.add_to_env
|
|
407
347
|
|
|
408
348
|
- 2014-07-04: Version 0.0.12
|
|
409
|
-
|
|
410
349
|
- Feature: Able to share logs, at /logs/show/(hexdigits)
|
|
411
350
|
- Add protecting logs, so they aren't deleted when old (for use with sharing)
|
|
412
351
|
- Restructured Redis data model
|
|
413
352
|
|
|
414
353
|
- 2014-05-24: Version 0.0.10
|
|
415
|
-
|
|
416
354
|
- Correct context for error reporting
|
|
417
355
|
- Clean up backtraces of reported exceptions
|
|
418
356
|
|
|
419
357
|
- 2014-05-13: Version 0.0.9
|
|
420
|
-
|
|
421
358
|
- Stray debugger message removed, add window.location logging to js
|
|
422
359
|
|
|
423
360
|
- 2014-05-13: Version 0.0.8
|
|
424
|
-
|
|
425
361
|
- Fix packaging binstubs by mistake
|
|
426
362
|
|
|
427
363
|
- 2014-05-13: Version 0.0.7
|
|
428
|
-
|
|
429
364
|
- Add support for javascript exception logging
|
|
430
365
|
|
|
431
366
|
- 2014-05-12: Version 0.0.6
|
|
432
|
-
|
|
433
367
|
- Add referer to env
|
|
434
368
|
|
|
435
369
|
- 2014-05-12: Version 0.0.5
|
|
436
|
-
|
|
437
370
|
- Feature: We now log basic rack environment with the messages
|
|
438
371
|
- Add your own with Logster.add_to_env(env, key, value)
|
|
439
372
|
|
|
440
373
|
- 2014-05-07: Version 0.0.4
|
|
441
|
-
|
|
442
374
|
- Feature: Ability to ignore patterns with Logster.store.ignore = [/regex/]
|
|
443
375
|
- Feature: Store backtraces, allow people to view them in the GUI
|
|
444
376
|
|
|
445
377
|
- 2014-05-07: Started changelog :)
|
|
446
|
-
|
|
447
378
|
- Report params in env tab
|
data/README.md
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-

|
|
2
2
|
|
|
3
3
|
Logster is an embedded Ruby "exception reporting service" admins can view on live websites, at `http://example.com/logs`
|
|
4
4
|
|
|
5
5
|
## Interface
|
|
6
6
|
|
|
7
|
-
.
|
|
7
|
+

|
|
10
8
|
|
|
11
9
|
## Installation
|
|
12
10
|
|
|
@@ -27,7 +25,19 @@ constraints lambda { |req| req.session["admin"] } do
|
|
|
27
25
|
end
|
|
28
26
|
```
|
|
29
27
|
|
|
30
|
-
By default,
|
|
28
|
+
By default, Logster will only run in development and production environments.
|
|
29
|
+
|
|
30
|
+
## Supported versions
|
|
31
|
+
|
|
32
|
+
Logster supports maintained release series only:
|
|
33
|
+
|
|
34
|
+
- Ruby 3.3, 3.4, and 4.0
|
|
35
|
+
- Rails 8.0 and 8.1
|
|
36
|
+
- Rack 3.1 and 3.2
|
|
37
|
+
- redis-rb 6.x
|
|
38
|
+
- Redis Open Source 8.10
|
|
39
|
+
|
|
40
|
+
Support for a release series ends when its upstream security support ends. Ruby head is also tested proactively, and the CI matrix is the source of truth for the combinations tested by Logster.
|
|
31
41
|
|
|
32
42
|
To run logster in other environments, in `config/application.rb`
|
|
33
43
|
|
|
@@ -40,6 +50,8 @@ Logster.set_environments([:development, :staging, :production])
|
|
|
40
50
|
Logster can be configured using `Logster.config`:
|
|
41
51
|
|
|
42
52
|
- `Logster.config.application_version`: set to a unique identifier denoting version of your app. The "solve" function takes this version into account when suppressing errors.
|
|
53
|
+
- `Logster.config.authorize_request` : Optional defense-in-depth authorization callback. It receives the Rack environment and must return a truthy value to allow access. The application must still mount Logster behind its normal administrator authentication constraint.
|
|
54
|
+
|
|
43
55
|
- `Logster.config.enable_js_error_reporting` : enable js error reporting from clients
|
|
44
56
|
- `Logster.config.rate_limit_error_reporting` : controls automatic 1 minute rate limiting for JS error reporting.
|
|
45
57
|
- `Logster.config.web_title` : `<title>` tag for logster error page.
|
|
@@ -60,12 +72,16 @@ Logster can be configured using `Logster.config`:
|
|
|
60
72
|
|
|
61
73
|
- `Logster.config.enable_backtrace_links` : Enable/disable the backtrace links feature.
|
|
62
74
|
|
|
63
|
-
- `Logster.config.gems_dir` : The value of this config is `Gem.dir + "/gems/"` by default. You probably don't need to change this config, but it's available in case your
|
|
75
|
+
- `Logster.config.gems_dir` : The value of this config is `Gem.dir + "/gems/"` by default. You probably don't need to change this config, but it's available in case your application gems are installed in a different directory.
|
|
64
76
|
|
|
65
77
|
- `Logster.config.back_to_site_link_path` : Path for the backlink to site.
|
|
66
78
|
|
|
67
79
|
- `Logster.config.back_to_site_link_text` : Text for the backlink to site.
|
|
68
80
|
|
|
81
|
+
### HTTP endpoint security
|
|
82
|
+
|
|
83
|
+
Logster's supplied browser client sends mutating viewer requests with their required HTTP methods and the `X-Requested-With: XMLHttpRequest` header. Custom viewer integrations must do the same. JavaScript error reports may use that header or a browser-verified `Sec-Fetch-Site: same-origin` request, which allows same-origin `navigator.sendBeacon` reporting. Cross-site fetch metadata and mismatching origins from clients without same-origin fetch metadata are rejected. Mounting `Logster::Web` behind an administrator authentication constraint remains required; `authorize_request` can add a second authorization check inside the Rack application.
|
|
84
|
+
|
|
69
85
|
### Tracking Error Rate
|
|
70
86
|
|
|
71
87
|
Logster allows you to register a callback when the rate of errors has exceeded
|
|
@@ -144,11 +160,10 @@ Logster UI is built using [Ember.js](http://emberjs.com/)
|
|
|
144
160
|
|
|
145
161
|
1. Fork it ( https://github.com/discourse/logster/fork )
|
|
146
162
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
|
147
|
-
3. Run `
|
|
148
|
-
4. Run `
|
|
149
|
-
5.
|
|
150
|
-
6.
|
|
151
|
-
7.
|
|
152
|
-
8.
|
|
153
|
-
9.
|
|
154
|
-
10. Create a new Pull Request
|
|
163
|
+
3. Run `bundle install`
|
|
164
|
+
4. Run `bundle exec rake dev`. This installs any missing frontend and website dependencies, starts both development servers, and opens Logster in your browser.
|
|
165
|
+
5. Visit `http://localhost:9292/report_error` to add sample log data. The Ember app at `http://localhost:4200/logs/` reloads automatically as you make frontend changes.
|
|
166
|
+
6. Once you're done making changes, run `./build_client_app.sh` to make and copy a production build to the assets folder.
|
|
167
|
+
7. Commit your changes (`git commit -am 'Add some feature'`)
|
|
168
|
+
8. Push to the branch (`git push origin my-new-feature`)
|
|
169
|
+
9. Create a new Pull Request
|