logster 2.21.0 → 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.
Files changed (140) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +29 -14
  4. data/assets/javascript/main-B82IoCiW.js +1 -0
  5. data/assets/javascript/modules-4-12-BHA4lR2U.js +1 -0
  6. data/assets/javascript/vendor.js +11 -5260
  7. data/assets/logster-config.json +18 -0
  8. data/assets/manifest.json +23 -0
  9. data/assets/stylesheets/main-CgAFFyi8.css +1 -0
  10. data/lib/logster/configuration.rb +1 -0
  11. data/lib/logster/middleware/reporter.rb +34 -3
  12. data/lib/logster/middleware/viewer.rb +204 -32
  13. data/lib/logster/rails/railtie.rb +4 -20
  14. data/lib/logster/redis_store.rb +0 -2
  15. data/lib/logster/version.rb +1 -1
  16. data/lib/logster.rb +1 -1
  17. metadata +17 -186
  18. data/.github/workflows/ci.yml +0 -140
  19. data/.gitignore +0 -3
  20. data/.rubocop.yml +0 -12
  21. data/.streerc +0 -2
  22. data/Gemfile +0 -10
  23. data/Guardfile +0 -10
  24. data/Rakefile +0 -24
  25. data/assets/javascript/.gitkeep +0 -0
  26. data/assets/javascript/chunk.524.b7d0b89d25457a72409c.js +0 -22
  27. data/assets/javascript/chunk.582.5a04ae4713e692cd335a.js +0 -22
  28. data/assets/javascript/chunk.747.a730c497582bb6742a6e.js +0 -579
  29. data/assets/javascript/chunk.761.64949d89942c829e5c1b.js +0 -1213
  30. data/assets/javascript/client-app.js +0 -1389
  31. data/assets/stylesheets/.gitkeep +0 -0
  32. data/assets/stylesheets/client-app.css +0 -1
  33. data/assets/stylesheets/vendor.css +0 -1
  34. data/build_client_app.sh +0 -10
  35. data/client-app/.editorconfig +0 -19
  36. data/client-app/.ember-cli +0 -9
  37. data/client-app/.eslintignore +0 -20
  38. data/client-app/.eslintrc +0 -10
  39. data/client-app/.gitignore +0 -23
  40. data/client-app/.prettierignore +0 -21
  41. data/client-app/.prettierrc +0 -1
  42. data/client-app/.template-lintrc.js +0 -10
  43. data/client-app/.watchmanconfig +0 -3
  44. data/client-app/README.md +0 -56
  45. data/client-app/app/app.js +0 -12
  46. data/client-app/app/components/actions-menu.js +0 -50
  47. data/client-app/app/components/back-to-site-link.js +0 -9
  48. data/client-app/app/components/back-trace.js +0 -153
  49. data/client-app/app/components/env-tab.js +0 -68
  50. data/client-app/app/components/message-info.js +0 -151
  51. data/client-app/app/components/message-row.js +0 -46
  52. data/client-app/app/components/page-nav.js +0 -42
  53. data/client-app/app/components/panel-resizer.js +0 -108
  54. data/client-app/app/components/patterns-list.js +0 -142
  55. data/client-app/app/components/tab-contents.js +0 -23
  56. data/client-app/app/components/tabbed-section.js +0 -45
  57. data/client-app/app/components/time-formatter.js +0 -36
  58. data/client-app/app/controllers/index.js +0 -288
  59. data/client-app/app/controllers/show.js +0 -39
  60. data/client-app/app/helpers/logster-url.js +0 -12
  61. data/client-app/app/helpers/or.js +0 -7
  62. data/client-app/app/index.html +0 -31
  63. data/client-app/app/initializers/app-init.js +0 -71
  64. data/client-app/app/lib/decorators.js +0 -13
  65. data/client-app/app/lib/preload.js +0 -43
  66. data/client-app/app/lib/utilities.js +0 -230
  67. data/client-app/app/models/group.js +0 -34
  68. data/client-app/app/models/message-collection.js +0 -303
  69. data/client-app/app/models/message.js +0 -128
  70. data/client-app/app/models/pattern-item.js +0 -32
  71. data/client-app/app/resolver.js +0 -3
  72. data/client-app/app/router.js +0 -13
  73. data/client-app/app/routes/index.js +0 -64
  74. data/client-app/app/routes/settings.js +0 -32
  75. data/client-app/app/routes/show.js +0 -16
  76. data/client-app/app/services/events.js +0 -4
  77. data/client-app/app/styles/app.css +0 -898
  78. data/client-app/app/templates/application.hbs +0 -1
  79. data/client-app/app/templates/components/actions-menu.hbs +0 -31
  80. data/client-app/app/templates/components/back-to-site-link.hbs +0 -8
  81. data/client-app/app/templates/components/back-trace.hbs +0 -15
  82. data/client-app/app/templates/components/env-tab.hbs +0 -10
  83. data/client-app/app/templates/components/message-info.hbs +0 -86
  84. data/client-app/app/templates/components/message-row.hbs +0 -32
  85. data/client-app/app/templates/components/page-nav.hbs +0 -37
  86. data/client-app/app/templates/components/panel-resizer.hbs +0 -3
  87. data/client-app/app/templates/components/patterns-list.hbs +0 -78
  88. data/client-app/app/templates/components/tabbed-section.hbs +0 -18
  89. data/client-app/app/templates/components/time-formatter.hbs +0 -1
  90. data/client-app/app/templates/index.hbs +0 -192
  91. data/client-app/app/templates/settings.hbs +0 -47
  92. data/client-app/app/templates/show.hbs +0 -13
  93. data/client-app/config/ember-cli-update.json +0 -18
  94. data/client-app/config/environment.js +0 -51
  95. data/client-app/config/icons.js +0 -28
  96. data/client-app/config/optional-features.json +0 -6
  97. data/client-app/config/targets.js +0 -26
  98. data/client-app/ember-cli-build.js +0 -34
  99. data/client-app/package.json +0 -76
  100. data/client-app/preload-json-manager.rb +0 -35
  101. data/client-app/public/assets/images/icon_144x144.png +0 -0
  102. data/client-app/public/assets/images/icon_64x64.png +0 -0
  103. data/client-app/testem.js +0 -23
  104. data/client-app/tests/index.html +0 -41
  105. data/client-app/tests/integration/components/back-to-site-link-test.js +0 -20
  106. data/client-app/tests/integration/components/back-trace-test.js +0 -138
  107. data/client-app/tests/integration/components/env-tab-test.js +0 -220
  108. data/client-app/tests/integration/components/message-info-test.js +0 -122
  109. data/client-app/tests/integration/components/patterns-list-test.js +0 -76
  110. data/client-app/tests/test-helper.js +0 -12
  111. data/client-app/tests/unit/controllers/index-test.js +0 -77
  112. data/client-app/tests/unit/controllers/show-test.js +0 -12
  113. data/client-app/tests/unit/routes/index-test.js +0 -11
  114. data/client-app/tests/unit/routes/show-test.js +0 -11
  115. data/client-app/yarn.lock +0 -9905
  116. data/gemfiles/rails_6.1.gemfile +0 -12
  117. data/gemfiles/rails_7.0.gemfile +0 -12
  118. data/gemfiles/rails_7.1.gemfile +0 -9
  119. data/gemfiles/rails_7.2.gemfile +0 -9
  120. data/logster.gemspec +0 -43
  121. data/test/dummy/config/application.rb +0 -31
  122. data/test/dummy/config/boot.rb +0 -6
  123. data/test/dummy/config/environment.rb +0 -6
  124. data/test/examples/test_sidekiq_reporter_example.rb +0 -47
  125. data/test/fake_data/Gemfile +0 -6
  126. data/test/fake_data/generate.rb +0 -23
  127. data/test/logster/middleware/test_reporter.rb +0 -84
  128. data/test/logster/middleware/test_viewer.rb +0 -495
  129. data/test/logster/test_base_store.rb +0 -224
  130. data/test/logster/test_cache.rb +0 -39
  131. data/test/logster/test_defer_logger.rb +0 -36
  132. data/test/logster/test_group.rb +0 -92
  133. data/test/logster/test_ignore_pattern.rb +0 -42
  134. data/test/logster/test_logger.rb +0 -177
  135. data/test/logster/test_message.rb +0 -269
  136. data/test/logster/test_pattern.rb +0 -144
  137. data/test/logster/test_railtie.rb +0 -21
  138. data/test/logster/test_redis_rate_limiter.rb +0 -246
  139. data/test/logster/test_redis_store.rb +0 -1165
  140. data/test/test_helper.rb +0 -66
@@ -1,898 +0,0 @@
1
- body {
2
- font-family: Arial, "Liberation Sans", "DejaVu Sans", sans-serif;
3
- font-size: 12px;
4
- }
5
-
6
- body.mobile,
7
- body.mobile .message {
8
- font-size: 14px;
9
- }
10
-
11
- pre {
12
- font-family: "Roboto Mono", Consolas, Monaco, Ubuntu Mono, monospace;
13
- }
14
-
15
- table.env-table tbody tr td {
16
- border-top: none;
17
- line-height: 18px;
18
- height: 18px;
19
- vertical-align: top;
20
- }
21
-
22
- table.env-table,
23
- table.env-table table {
24
- border-spacing: 0;
25
- border-collapse: collapse;
26
- }
27
-
28
- table.env-table td {
29
- padding-right: 5px;
30
- }
31
-
32
- tbody tr {
33
- width: 98%;
34
- }
35
-
36
- @keyframes spin {
37
- 0% {
38
- transform: rotate(0deg);
39
- }
40
- 100% {
41
- transform: rotate(360deg);
42
- }
43
- }
44
-
45
- .loading {
46
- border: 4px solid #f3f3f3;
47
- border-top: 4px solid #3498db;
48
- border-radius: 50%;
49
- width: 30px;
50
- height: 30px;
51
- animation: spin 1s linear infinite;
52
- margin: 40dvh auto;
53
- }
54
-
55
- .message-row-wrapper {
56
- display: flex;
57
- width: inherit;
58
-
59
- .grouping-checkbox {
60
- margin: 0;
61
- }
62
- }
63
-
64
- .message-row {
65
- font-family: "Roboto";
66
- display: flex;
67
- width: inherit;
68
- }
69
-
70
- .message-row .severity,
71
- .message-row .protected {
72
- text-align: center;
73
- width: 25px;
74
- flex-grow: 0;
75
- flex-shrink: 0;
76
- font-size: 12px;
77
- }
78
-
79
- .message-row div {
80
- border-top: 0.5px #e9e9e9 solid;
81
- padding-top: 1px;
82
- padding-bottom: 1px;
83
- line-height: 25px;
84
- }
85
-
86
- .message-row .count {
87
- width: 30px;
88
- flex-grow: 0;
89
- flex-shrink: 0;
90
- padding-right: 4px;
91
- box-sizing: border-box;
92
- font-size: 11px;
93
- font-weight: 700;
94
- }
95
-
96
- .message-row .message-body {
97
- flex-grow: 1;
98
- flex-shrink: 1;
99
- overflow: hidden;
100
- white-space: nowrap;
101
- text-overflow: ellipsis;
102
- font-size: 13px;
103
- }
104
-
105
- .message-row .time {
106
- flex-grow: 0;
107
- flex-shrink: 0;
108
- color: #999;
109
- vertical-align: top;
110
- font-size: 12px;
111
- padding-right: 8px;
112
- }
113
-
114
- .message-row .count {
115
- text-align: right;
116
- }
117
-
118
- .message-row:hover {
119
- background-color: #f8f8f8;
120
- cursor: pointer;
121
- }
122
-
123
- .message-row.selected {
124
- background-color: #dfdfdf;
125
- }
126
-
127
- .svg-inline--fa.fatal {
128
- color: #e00;
129
- }
130
-
131
- .svg-inline--fa.error {
132
- color: #900;
133
- }
134
-
135
- .svg-inline--fa.warning {
136
- color: #feb800;
137
- }
138
-
139
- .debug {
140
- color: #777;
141
- }
142
-
143
- .action-panel .search {
144
- border: 1px solid #ddd;
145
- padding: 3px;
146
- vertical-align: middle;
147
- box-sizing: border-box;
148
- }
149
-
150
- #log-table .show-more {
151
- text-align: center;
152
- height: 30px;
153
- line-height: 30px;
154
- text-decoration: none;
155
- background-color: #ddd;
156
- cursor: pointer;
157
- margin-top: 8px;
158
- }
159
-
160
- #bottom-panel {
161
- position: fixed;
162
- bottom: 0;
163
- left: 0;
164
- right: 0;
165
- height: 300px;
166
- background-color: #f1f1f1;
167
- padding: 8px;
168
- padding-top: 0;
169
- z-index: 2;
170
- }
171
-
172
- #bottom-panel.full {
173
- position: static;
174
- background-color: inherit;
175
- height: 90%;
176
- }
177
-
178
- #bottom-panel.full > div {
179
- padding-bottom: 40px;
180
- }
181
- #bottom-panel.full .tabs {
182
- display: none;
183
- }
184
-
185
- #bottom-panel.full .message-info {
186
- position: static;
187
- }
188
-
189
- #bottom-panel.full .message-info .content {
190
- display: block;
191
- position: static;
192
- }
193
-
194
- #bottom-panel.full .save,
195
- #bottom-panel.full .share {
196
- bottom: 10px;
197
- }
198
-
199
- #bottom-panel.full button.delete {
200
- display: none;
201
- }
202
-
203
- #bottom-panel.full .message-actions button {
204
- margin-top: 8px;
205
- }
206
-
207
- @media (max-width: 382px) {
208
- #bottom-panel.full .message-actions {
209
- height: 73px;
210
- }
211
- }
212
-
213
- @media (min-width: 383px) {
214
- #bottom-panel.full .message-actions {
215
- height: 40px;
216
- }
217
- }
218
-
219
- #bottom-panel.full .message-actions {
220
- position: fixed;
221
- width: 100%;
222
- left: 0;
223
- bottom: 0;
224
- background-color: #eee;
225
- border-top: 1px solid #dfdfdf;
226
- padding-left: 10px;
227
- }
228
-
229
- .message-actions {
230
- position: absolute;
231
- bottom: 5px;
232
- right: 0;
233
- margin-right: 10px;
234
- }
235
-
236
- .message-actions button {
237
- margin-left: 5px;
238
- }
239
-
240
- .divider {
241
- position: fixed;
242
- bottom: 310px;
243
- left: 0;
244
- right: 0;
245
- height: 15px;
246
- border-top: 1px solid #ddd;
247
- border-bottom: 1px solid #ddd;
248
- background-color: #fafafa;
249
- cursor: row-resize;
250
- }
251
-
252
- .divider div {
253
- margin: auto;
254
- width: 24px;
255
- height: 1px;
256
- background-color: #ccc;
257
- position: relative;
258
- }
259
-
260
- .divider .line-1 {
261
- top: 5px;
262
- }
263
-
264
- .divider .line-2 {
265
- top: 6px;
266
- }
267
-
268
- .divider .line-3 {
269
- top: 7px;
270
- }
271
-
272
- #top-panel {
273
- position: fixed;
274
- top: 0;
275
- left: 0;
276
- right: 0;
277
- bottom: 320px;
278
- overflow: auto;
279
- }
280
- #top-panel.with-top-menu {
281
- top: 35px;
282
- }
283
-
284
- #top-menu {
285
- position: fixed;
286
- z-index: 900;
287
- left: 0;
288
- top: 0;
289
- width: 100%;
290
- }
291
-
292
- #back-to-site-panel {
293
- padding: 10px;
294
- background-color: #f1f1f1;
295
- height: 15px;
296
- }
297
-
298
- .message-info {
299
- position: absolute;
300
- border-bottom: 1px solid #ddd;
301
- top: 0;
302
- left: 0;
303
- right: 0;
304
- }
305
-
306
- #bottom-panel.group-view .message-info {
307
- top: 43px;
308
- }
309
-
310
- .nav-controls.group-nav {
311
- position: absolute;
312
- left: 0;
313
- right: 0;
314
- border-bottom: 1px solid #ddd;
315
- }
316
-
317
- .action-panel {
318
- position: absolute;
319
- left: 0;
320
- right: 0;
321
- bottom: 0;
322
- font-weight: bold;
323
- }
324
-
325
- .action-panel input {
326
- margin: 0;
327
- }
328
-
329
- .action-panel .svg-inline--fa,
330
- input,
331
- label span {
332
- vertical-align: middle;
333
- }
334
-
335
- .severity-filters label {
336
- margin-right: 10px;
337
- }
338
-
339
- .search-clear-all .clear {
340
- float: right;
341
- vertical-align: middle;
342
- }
343
-
344
- #log-table {
345
- margin: auto;
346
- width: 99%;
347
- }
348
-
349
- .btn span {
350
- display: inline;
351
- }
352
-
353
- .hidden {
354
- display: none;
355
- }
356
-
357
- .message-info pre,
358
- .message-info .env-table {
359
- position: relative;
360
- margin: 10px;
361
- margin-top: 5px;
362
- }
363
-
364
- #overlay {
365
- position: fixed;
366
- z-index: 99999;
367
- top: 0;
368
- bottom: 0;
369
- left: 0;
370
- right: 0;
371
- cursor: row-resize;
372
- opacity: 0;
373
- }
374
-
375
- .message-info .content {
376
- position: absolute;
377
- top: 0;
378
- bottom: 35px;
379
- left: 0;
380
- right: 0;
381
- overflow: auto;
382
- display: none;
383
- }
384
-
385
- .message-info .content.active {
386
- display: block;
387
- }
388
-
389
- .tabs {
390
- position: absolute;
391
- bottom: 13px;
392
- left: 0;
393
- right: 0;
394
- list-style-type: none;
395
- border-top: 1px solid #ddd;
396
- margin: 0 0 5px;
397
- padding: 0 0 0 10px;
398
- }
399
- .tabs li {
400
- float: left;
401
- position: relative;
402
- padding-right: 5px;
403
- margin: 0;
404
- }
405
- .tabs a {
406
- position: relative;
407
- top: 6px;
408
- text-decoration: none;
409
- color: #333;
410
- border: 1px solid #ddd;
411
- border-top: none;
412
- border-bottom-left-radius: 5px;
413
- border-bottom-right-radius: 5px;
414
- padding: 6px;
415
- background-color: #e1e1e1;
416
- }
417
-
418
- .tabs a.active {
419
- border-top: 1px solid #f1f1f1;
420
- background-color: #f1f1f1;
421
- }
422
-
423
- .btn {
424
- display: inline-block;
425
- margin: 0;
426
- padding: 5px 8px;
427
- font-size: 1em;
428
- line-height: 0;
429
- text-align: center;
430
- cursor: pointer;
431
- transition: all 0.25s;
432
- background-color: #ddd;
433
- text-decoration: none;
434
- border: none;
435
- color: #333;
436
- font-weight: normal;
437
- }
438
-
439
- .btn:hover {
440
- color: #000;
441
- background-color: #ccc;
442
- }
443
-
444
- .btn .svg-inline--fa {
445
- margin-right: 7px;
446
- }
447
-
448
- .btn:active {
449
- text-shadow: none;
450
- }
451
-
452
- .btn.danger:hover {
453
- background-color: #c63c1b;
454
- color: #eee;
455
- }
456
-
457
- .btn.ok {
458
- background-color: #3781dc;
459
- color: white;
460
- }
461
-
462
- .btn.ok:hover {
463
- background-color: #286dc2;
464
- color: white;
465
- }
466
-
467
- .search-clear-all .search,
468
- .search-clear-all .btn.clear {
469
- height: 100%;
470
- }
471
-
472
- .search-clear-all .btn.clear span {
473
- vertical-align: middle;
474
- }
475
-
476
- .severity-filters label,
477
- .search-clear-all .search,
478
- .search-clear-all .btn.clear {
479
- align-self: center;
480
- }
481
-
482
- .search-clear-all .footer-btns .settings {
483
- height: 100%;
484
- box-sizing: border-box;
485
- display: inline-flex;
486
- align-items: center;
487
- }
488
-
489
- .search-clear-all {
490
- display: flex;
491
- justify-content: space-between;
492
- }
493
-
494
- .search-clear-all .search {
495
- min-width: 0;
496
- flex-shrink: 2;
497
- }
498
-
499
- .footer-btns {
500
- display: flex;
501
- gap: 0.7em;
502
- }
503
-
504
- @media (min-width: 871px) {
505
- .severity-filters,
506
- .search-clear-all {
507
- height: 100%;
508
- }
509
- .severity-filters,
510
- .more-wrapping {
511
- display: flex;
512
- }
513
- .severity-filters {
514
- float: left;
515
- }
516
- .action-panel {
517
- padding: 10px;
518
- box-sizing: border-box;
519
- height: 45px;
520
- }
521
- .message-info {
522
- bottom: 45px;
523
- }
524
- }
525
-
526
- @media (max-width: 870px) {
527
- .severity-filters {
528
- padding: 10px;
529
- }
530
- .search-clear-all {
531
- padding: 10px;
532
- padding-top: 0;
533
- }
534
- .action-panel {
535
- height: 69px;
536
- }
537
- .message-info {
538
- bottom: 69px;
539
- }
540
- }
541
-
542
- @media (max-width: 430px) {
543
- .severity-filters {
544
- overflow-x: scroll;
545
- overflow-y: hidden;
546
- white-space: nowrap;
547
- }
548
- .more-wrapping:before,
549
- .more-wrapping:after {
550
- content: "";
551
- position: absolute;
552
- height: 18px;
553
- }
554
- .more-wrapping:before {
555
- width: 15px;
556
- margin-left: -10px;
557
- background: linear-gradient(
558
- to right,
559
- #f1f1f1 0%,
560
- rgba(241, 241, 241, 0.001) 100%
561
- );
562
- }
563
- .more-wrapping:after {
564
- right: 0;
565
- width: 23px;
566
- background: linear-gradient(
567
- to left,
568
- #f1f1f1 0%,
569
- rgba(241, 241, 241, 0.001) 100%
570
- );
571
- }
572
- }
573
-
574
- .btn.no-text .svg-inline--fa {
575
- margin: 0;
576
- }
577
-
578
- .btn[disabled] {
579
- opacity: 0.5;
580
- }
581
-
582
- .actions-menu {
583
- position: absolute;
584
- background: #fafafa;
585
- display: inline-flex;
586
- flex-direction: column;
587
- bottom: 27px;
588
- right: 45px;
589
- width: 115px;
590
- padding: 5px;
591
- padding-bottom: 0px;
592
- box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
593
- z-index: 3;
594
- }
595
-
596
- .actions-menu button {
597
- margin: 0 0 5px 0;
598
- height: 27px;
599
- }
600
-
601
- .nav-controls {
602
- padding: 10px;
603
- }
604
-
605
- #bottom-panel:not(.full) .nav-controls.env-nav {
606
- position: sticky;
607
- position: -webkit-sticky;
608
- position: -moz-sticky;
609
- position: -ms-sticky;
610
- position: -o-sticky;
611
- top: 0;
612
- background: #f1f1f1;
613
- z-index: 1;
614
- border-bottom: 1px solid #ddd;
615
- }
616
-
617
- .current-number {
618
- margin: 0 7px;
619
- }
620
-
621
- .recent-link,
622
- .expand-list {
623
- text-decoration: underline;
624
- color: blue;
625
- cursor: pointer;
626
- }
627
-
628
- .settings-page {
629
- max-width: 1110px;
630
- margin-right: auto;
631
- margin-left: auto;
632
- font-size: 15px;
633
- padding: 0 10px;
634
- padding-bottom: 70px;
635
- }
636
-
637
- .settings-header {
638
- display: flex;
639
- align-items: center;
640
- margin-bottom: 5px;
641
- }
642
-
643
- .settings-header .header-title {
644
- flex-grow: 1;
645
- }
646
-
647
- .settings-header .header-logo {
648
- width: 50px;
649
- height: 50px;
650
- }
651
-
652
- .settings-section {
653
- padding-top: 15px;
654
- }
655
-
656
- .settings-section .section-title {
657
- margin-top: 0;
658
- }
659
-
660
- .settings-section .subsection-title {
661
- margin-bottom: 10px;
662
- }
663
-
664
- .settings-section .tip {
665
- font-style: italic;
666
- font-size: 13px;
667
- color: grey;
668
- }
669
-
670
- .settings-section .pattern-wrapper {
671
- margin-top: 10px;
672
- font-size: 16px;
673
- display: flex;
674
- height: 33px;
675
- }
676
-
677
- .settings-section .api-error {
678
- font-family: Consolas, "Roboto Mono", Monaco, Ubuntu Mono, monospace;
679
- margin-top: 5px;
680
- color: red;
681
- }
682
-
683
- .pattern-wrapper .pattern-input {
684
- font-family: Consolas, "Roboto Mono", Monaco, Ubuntu Mono, monospace;
685
- width: 600px;
686
- font-size: inherit;
687
- padding: 5px 0 5px 0;
688
- height: 100%;
689
- box-sizing: border-box;
690
- vertical-align: middle;
691
- flex-grow: 1;
692
- flex-shrink: 1;
693
- }
694
-
695
- .retro-checkbox .checkbox {
696
- margin: 0;
697
- }
698
-
699
- .retro-checkbox {
700
- margin-top: 7px;
701
- }
702
-
703
- .btn.new-pattern {
704
- height: 100%;
705
- line-height: 18px;
706
- }
707
-
708
- .pattern-wrapper .shrink {
709
- height: 100%;
710
- width: 40px;
711
- text-align: center;
712
- box-sizing: border-box;
713
- vertical-align: middle;
714
- flex-grow: 0;
715
- flex-shrink: 0;
716
- margin-left: 10px;
717
- }
718
-
719
- .svg-inline--fa {
720
- opacity: 0.7;
721
- }
722
-
723
- .pattern-wrapper .shrink.reset {
724
- background: unset;
725
- width: unset;
726
- padding: 0;
727
- margin-left: 8px;
728
- }
729
-
730
- .grouping-patterns button.new-pattern {
731
- margin-top: 10px;
732
- }
733
-
734
- .grouping-pattern-dialog-overlay {
735
- position: fixed;
736
- z-index: 100000;
737
- top: 0;
738
- left: 0;
739
- right: 0;
740
- bottom: 0;
741
- background: rgba(0, 0, 0, 0.5);
742
- display: flex;
743
- align-items: center;
744
- justify-content: center;
745
- }
746
-
747
- .grouping-pattern-dialog {
748
- background: #fff;
749
- border-radius: 4px;
750
- padding: 20px;
751
- min-width: 600px;
752
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
753
- }
754
-
755
- .grouping-pattern-dialog h3 {
756
- margin: 0 0 8px 0;
757
- font-size: 1em;
758
- font-weight: bold;
759
- }
760
-
761
- .grouping-pattern-dialog p {
762
- margin: 0 0 10px 0;
763
- font-size: 0.9em;
764
- color: #555;
765
- }
766
-
767
- .grouping-pattern-input {
768
- width: 100%;
769
- box-sizing: border-box;
770
- padding: 8px;
771
- font-size: 1.1em;
772
- font-family: monospace;
773
- border: 1px solid #ccc;
774
- border-radius: 3px;
775
- margin-bottom: 14px;
776
- }
777
-
778
- .grouping-pattern-dialog-buttons {
779
- display: flex;
780
- justify-content: flex-end;
781
- gap: 8px;
782
- }
783
-
784
- .grouping-pattern-dialog .btn {
785
- padding: 12px;
786
- }
787
-
788
- .backtrace-line .line-link {
789
- color: #9e9e9e;
790
- margin-left: 3px;
791
- text-decoration: none;
792
- white-space: normal;
793
- }
794
-
795
- @media (prefers-color-scheme: dark) {
796
- body {
797
- background: #181818;
798
- color: #cecece;
799
- }
800
-
801
- #bottom-panel {
802
- background: #181818;
803
- }
804
-
805
- .message-row div {
806
- border-top-color: #404040;
807
- }
808
-
809
- .message-row:hover {
810
- background: #262626;
811
- }
812
-
813
- .message-row.selected {
814
- background: #303030;
815
- }
816
-
817
- #log-table .show-more {
818
- background: #262626;
819
- }
820
-
821
- .divider {
822
- background: #262626;
823
- }
824
-
825
- .divider div {
826
- background: #707070;
827
- }
828
-
829
- .divider,
830
- .tabs {
831
- border-top-color: #555;
832
- }
833
-
834
- #bottom-panel:not(.full) .nav-controls.env-nav,
835
- .divider,
836
- .message-info,
837
- .nav-controls.group-nav {
838
- border-bottom-color: #555;
839
- }
840
-
841
- .action-panel .search {
842
- background: #262626;
843
- border-color: #404040;
844
- }
845
-
846
- .btn,
847
- .tabs a {
848
- color: #cecece;
849
- }
850
-
851
- .tabs a {
852
- background: #323232;
853
- border-color: #404040;
854
- }
855
-
856
- .tabs a.active {
857
- background: #555;
858
- border-color: #707070;
859
- color: #f4f4f4;
860
- }
861
-
862
- .btn {
863
- background: #323232;
864
- }
865
-
866
- #bottom-panel.full .message-actions {
867
- background: #181818;
868
- border-color: #555;
869
- }
870
-
871
- #bottom-panel:not(.full) .nav-controls.env-nav {
872
- background: #181818;
873
- }
874
-
875
- .recent-link,
876
- .expand-list {
877
- color: #44f;
878
- }
879
-
880
- #back-to-site-panel {
881
- background-color: #181818;
882
- }
883
-
884
- .grouping-pattern-dialog {
885
- background: #262626;
886
- color: #cecece;
887
- }
888
-
889
- .grouping-pattern-dialog p {
890
- color: #aaa;
891
- }
892
-
893
- .grouping-pattern-input {
894
- background: #181818;
895
- color: #cecece;
896
- border-color: #555;
897
- }
898
- }