rails_error_dashboard 0.10.0 → 0.11.1

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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +123 -49
  3. data/app/controllers/rails_error_dashboard/errors_controller.rb +3 -0
  4. data/app/mailers/rails_error_dashboard/error_notification_mailer.rb +8 -1
  5. data/app/models/rails_error_dashboard/error_log.rb +1 -0
  6. data/app/views/layouts/rails_error_dashboard.html.erb +30 -0
  7. data/app/views/rails_error_dashboard/error_notification_mailer/error_alert.html.erb +5 -0
  8. data/app/views/rails_error_dashboard/error_notification_mailer/error_alert.text.erb +1 -0
  9. data/app/views/rails_error_dashboard/errors/_error_row.html.erb +8 -0
  10. data/app/views/rails_error_dashboard/errors/_sidebar_metadata.html.erb +9 -0
  11. data/app/views/rails_error_dashboard/errors/analytics.html.erb +51 -1
  12. data/app/views/rails_error_dashboard/errors/database_health_summary.html.erb +1 -1
  13. data/app/views/rails_error_dashboard/errors/index.html.erb +8 -1
  14. data/app/views/rails_error_dashboard/errors/overview.html.erb +2 -2
  15. data/app/views/rails_error_dashboard/errors/settings.html.erb +2 -0
  16. data/config/locales/de.yml +19 -2
  17. data/config/locales/en.yml +17 -0
  18. data/config/locales/es.yml +18 -2
  19. data/config/locales/fr.yml +19 -2
  20. data/config/locales/it.yml +27 -3
  21. data/config/locales/ja.yml +17 -3
  22. data/config/locales/pl.yml +19 -2
  23. data/config/locales/pt-BR.yml +18 -2
  24. data/config/locales/ru.yml +18 -2
  25. data/config/locales/uk.yml +18 -2
  26. data/config/locales/zh-CN.yml +15 -3
  27. data/db/migrate/20260826000001_add_environment_to_error_logs.rb +26 -0
  28. data/lib/generators/rails_error_dashboard/install/templates/initializer.rb +11 -0
  29. data/lib/rails_error_dashboard/commands/backfill_environments.rb +58 -0
  30. data/lib/rails_error_dashboard/commands/find_or_increment_error.rb +76 -29
  31. data/lib/rails_error_dashboard/commands/flush_storm_counts.rb +40 -9
  32. data/lib/rails_error_dashboard/commands/log_error.rb +17 -0
  33. data/lib/rails_error_dashboard/configuration.rb +52 -0
  34. data/lib/rails_error_dashboard/queries/analytics_stats.rb +9 -0
  35. data/lib/rails_error_dashboard/queries/errors_list.rb +8 -0
  36. data/lib/rails_error_dashboard/queries/filter_options.rb +9 -0
  37. data/lib/rails_error_dashboard/services/discord_payload_builder.rb +8 -0
  38. data/lib/rails_error_dashboard/services/error_broadcaster.rb +6 -2
  39. data/lib/rails_error_dashboard/services/issue_body_formatter.rb +1 -0
  40. data/lib/rails_error_dashboard/services/markdown_error_formatter.rb +1 -0
  41. data/lib/rails_error_dashboard/services/notification_throttler.rb +23 -0
  42. data/lib/rails_error_dashboard/services/pagerduty_payload_builder.rb +1 -0
  43. data/lib/rails_error_dashboard/services/slack_payload_builder.rb +9 -0
  44. data/lib/rails_error_dashboard/services/storm_protection/gate.rb +2 -0
  45. data/lib/rails_error_dashboard/services/webhook_payload_builder.rb +1 -0
  46. data/lib/rails_error_dashboard/version.rb +1 -1
  47. data/lib/rails_error_dashboard.rb +1 -0
  48. data/lib/tasks/rails_error_dashboard_tasks.rake +6 -0
  49. metadata +24 -27
@@ -32,7 +32,7 @@
32
32
  trend_values = @stats[:errors_trend_7d].values rescue []
33
33
  trend_max = [ trend_values.max || 1, 1 ].max
34
34
  %>
35
- <div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); margin-bottom: var(--space-6);">
35
+ <div class="red-stat-grid">
36
36
  <!-- Error Rate -->
37
37
  <div class="card stat-card" style="border-left: 3px solid var(--status-critical); padding: var(--space-5) var(--space-6);">
38
38
  <div class="stat-label" style="margin-bottom: 4px;"><%= red_t("red.errors.overview_page.error_rate") %></div>
@@ -89,7 +89,7 @@
89
89
  </div>
90
90
 
91
91
  <!-- Secondary Stats (3 cards) -->
92
- <div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); margin-bottom: var(--space-6);">
92
+ <div class="red-stat-grid">
93
93
  <!-- Affected Users -->
94
94
  <div class="card stat-card" style="padding: var(--space-5) var(--space-6);">
95
95
  <div class="stat-label" style="margin-bottom: 4px;"><%= red_t("red.errors.overview_page.affected_users") %></div>
@@ -19,6 +19,7 @@
19
19
  color: "info",
20
20
  settings: {
21
21
  application_name: { type: :application_name },
22
+ environment: { type: :string },
22
23
  database: { type: :database_name },
23
24
  use_separate_database: { type: :boolean }
24
25
  }
@@ -45,6 +46,7 @@
45
46
  icon: "bi-bell",
46
47
  color: "info",
47
48
  settings: {
49
+ notification_environments: { type: :array },
48
50
  enable_slack_notifications: { type: :boolean },
49
51
  slack_webhook_url: { type: :url, show_if: :enable_slack_notifications },
50
52
  enable_email_notifications: { type: :boolean },
@@ -144,6 +144,7 @@ de:
144
144
  any: Beliebiger Schweregrad
145
145
  all_apps: Alle Anwendungen
146
146
  all_platforms: Alle Plattformen
147
+ all_environments: Alle Umgebungen
147
148
  all_types: Alle Typen
148
149
  all_timeframes: Gesamter Zeitraum
149
150
  all_frequencies: Alle Häufigkeiten
@@ -172,6 +173,7 @@ de:
172
173
  search: 'Suche: %{value}'
173
174
  application: 'Anwendung: %{value}'
174
175
  platform: 'Plattform: %{value}'
176
+ environment: 'Umgebung: %{value}'
175
177
  error_type: 'Typ: %{value}'
176
178
  severity: 'Schweregrad: %{value}'
177
179
  timeframe: 'Zeitraum: %{value}'
@@ -187,6 +189,7 @@ de:
187
189
  last_seen: Zuletzt gesehen
188
190
  application: Anwendung
189
191
  platform: Plattform
192
+ environment: Umgebung
190
193
  select_all: Alle Fehler auswählen
191
194
  batch:
192
195
  selected:
@@ -625,6 +628,7 @@ de:
625
628
  low: NIEDRIG
626
629
  platform: Plattform
627
630
  view_all_platform: Alle %{platform}-Fehler ansehen
631
+ view_all_environment: Alle Fehler aus %{environment} ansehen
628
632
  user: Benutzer
629
633
  view_user_errors: Alle Fehler dieses Benutzers ansehen
630
634
  user_id: 'ID: %{id}'
@@ -841,8 +845,9 @@ de:
841
845
  column_ips: IPs
842
846
  column_top_path: Häufigster Pfad
843
847
  column_top_agent: Häufigster Agent
844
- overflow_notice_html: >-
845
- %{count} Ereignisse konnten keiner Regel zugeordnet werden, da der Puffer des Trackers voll war. Erhöhen Sie %{option}, um mehr zu erfassen.
848
+ overflow_notice_html: "%{count} Ereignisse konnten keiner Regel zugeordnet
849
+ werden, da der Puffer des Trackers voll war. Erhöhen Sie %{option}, um mehr
850
+ zu erfassen."
846
851
  match_type:
847
852
  blocklist: blocklist
848
853
  throttle: throttle
@@ -1070,6 +1075,10 @@ de:
1070
1075
  sampling_rate: Anteil der erfassten Fehler
1071
1076
  application_name: Name dieser Anwendung (wird automatisch erkannt, wenn nicht
1072
1077
  gesetzt)
1078
+ environment: Umgebung, der Fehler zugeordnet werden (Rails.env, falls nicht
1079
+ gesetzt)
1080
+ notification_environments: Nur für diese Umgebungen benachrichtigen (alle,
1081
+ falls nicht gesetzt)
1073
1082
  database: Aktive Datenbank für Fehlerprotokolle
1074
1083
  use_separate_database: Eigene Datenbank für Fehlerprotokolle verwenden
1075
1084
  user_model: Modellname für Benutzerzuordnungen (wird automatisch erkannt,
@@ -1237,11 +1246,14 @@ de:
1237
1246
  unknown_application: Unbekannt
1238
1247
  error_alert:
1239
1248
  subject: "\U0001F6A8 [%{application}] %{error_type}: %{message}"
1249
+ subject_with_environment: "\U0001F6A8 [%{application} · %{environment}] %{error_type}:
1250
+ %{message}"
1240
1251
  heading: "\U0001F6A8 Fehlermeldung"
1241
1252
  labels:
1242
1253
  application: Anwendung
1243
1254
  error_type: Fehlertyp
1244
1255
  platform: Plattform
1256
+ environment: Umgebung
1245
1257
  occurred_at: Aufgetreten am
1246
1258
  user_id: Benutzer-ID
1247
1259
  ip_address: IP-Adresse
@@ -1307,6 +1319,7 @@ de:
1307
1319
  application: Anwendung
1308
1320
  error_type: Fehlertyp
1309
1321
  platform: Plattform
1322
+ environment: Umgebung
1310
1323
  occurred: Aufgetreten
1311
1324
  message: Meldung
1312
1325
  user: Benutzer
@@ -1641,6 +1654,10 @@ de:
1641
1654
  platform_chart:
1642
1655
  title: Fehler nach Plattform
1643
1656
  quick_links: 'Schnellzugriff:'
1657
+ environment_chart:
1658
+ title: Fehler nach Umgebung
1659
+ quick_links: 'Schnellzugriff:'
1660
+ unknown: Unbekannt
1644
1661
  type_chart:
1645
1662
  title: Top 10 Fehlertypen
1646
1663
  hour_chart:
@@ -249,6 +249,7 @@ en:
249
249
  # noun — languages differ on agreement between the two.
250
250
  all_apps: "All Apps"
251
251
  all_platforms: "All Platforms"
252
+ all_environments: "All Environments"
252
253
  all_types: "All Types"
253
254
  all_timeframes: "All Time"
254
255
  all_frequencies: "All Frequencies"
@@ -290,6 +291,7 @@ en:
290
291
  search: "Search: %{value}"
291
292
  application: "App: %{value}"
292
293
  platform: "Platform: %{value}"
294
+ environment: "Environment: %{value}"
293
295
  error_type: "Type: %{value}"
294
296
  severity: "Severity: %{value}"
295
297
  timeframe: "Timeframe: %{value}"
@@ -306,6 +308,7 @@ en:
306
308
  last_seen: "Last seen"
307
309
  application: "App"
308
310
  platform: "Platform"
311
+ environment: "Environment"
309
312
  select_all: "Select all errors"
310
313
 
311
314
  batch:
@@ -876,6 +879,8 @@ en:
876
879
  platform: "Platform"
877
880
  # %{platform} is a platform name (iOS, Android, Web) and is not translated.
878
881
  view_all_platform: "View all %{platform} errors"
882
+ # %{environment} is an environment name (production, staging, uat) and is not translated.
883
+ view_all_environment: "View all %{environment} errors"
879
884
 
880
885
  user: "User"
881
886
  view_user_errors: "View all errors for this user"
@@ -1484,6 +1489,8 @@ en:
1484
1489
  max_backtrace_lines: "Stack trace depth limit"
1485
1490
  sampling_rate: "Percentage of errors captured"
1486
1491
  application_name: "Name of this application (auto-detected if not set)"
1492
+ environment: "Environment errors are attributed to (Rails.env if not set)"
1493
+ notification_environments: "Only notify for these environments (all if not set)"
1487
1494
  database: "Active database for error logs"
1488
1495
  use_separate_database: "Use dedicated DB for error logs"
1489
1496
  user_model: "Model name for user associations (auto-detected if not set)"
@@ -1702,11 +1709,15 @@ en:
1702
1709
  # an exception class name and %{message} is its message — both are
1703
1710
  # verbatim error content and are not translated.
1704
1711
  subject: "🚨 [%{application}] %{error_type}: %{message}"
1712
+ # Used instead of `subject` when the error carries an environment.
1713
+ # %{environment} is an environment name and is not translated.
1714
+ subject_with_environment: "🚨 [%{application} · %{environment}] %{error_type}: %{message}"
1705
1715
  heading: "🚨 Error Alert"
1706
1716
  labels:
1707
1717
  application: "Application"
1708
1718
  error_type: "Error Type"
1709
1719
  platform: "Platform"
1720
+ environment: "Environment"
1710
1721
  occurred_at: "Occurred At"
1711
1722
  user_id: "User ID"
1712
1723
  ip_address: "IP Address"
@@ -1806,6 +1817,7 @@ en:
1806
1817
  application: "Application"
1807
1818
  error_type: "Error Type"
1808
1819
  platform: "Platform"
1820
+ environment: "Environment"
1809
1821
  occurred: "Occurred"
1810
1822
  message: "Message"
1811
1823
  user: "User"
@@ -2215,6 +2227,11 @@ en:
2215
2227
  platform_chart:
2216
2228
  title: "Errors by Platform"
2217
2229
  quick_links: "Quick Links:"
2230
+ environment_chart:
2231
+ title: "Errors by Environment"
2232
+ quick_links: "Quick Links:"
2233
+ # Label for errors captured before the environment column existed.
2234
+ unknown: "Unknown"
2218
2235
 
2219
2236
  type_chart:
2220
2237
  title: "Top 10 Error Types"
@@ -147,6 +147,7 @@ es:
147
147
  any: Cualquier gravedad
148
148
  all_apps: Todas las aplicaciones
149
149
  all_platforms: Todas las plataformas
150
+ all_environments: Todos los entornos
150
151
  all_types: Todos los tipos
151
152
  all_timeframes: Todo el periodo
152
153
  all_frequencies: Todas las frecuencias
@@ -175,6 +176,7 @@ es:
175
176
  search: 'Búsqueda: %{value}'
176
177
  application: 'Aplicación: %{value}'
177
178
  platform: 'Plataforma: %{value}'
179
+ environment: 'Entorno: %{value}'
178
180
  error_type: 'Tipo: %{value}'
179
181
  severity: 'Gravedad: %{value}'
180
182
  timeframe: 'Periodo: %{value}'
@@ -190,6 +192,7 @@ es:
190
192
  last_seen: Última aparición
191
193
  application: Aplicación
192
194
  platform: Plataforma
195
+ environment: Entorno
193
196
  select_all: Seleccionar todos los errores
194
197
  batch:
195
198
  selected:
@@ -652,6 +655,7 @@ es:
652
655
  low: BAJA
653
656
  platform: Plataforma
654
657
  view_all_platform: Ver todos los errores de %{platform}
658
+ view_all_environment: Ver todos los errores de %{environment}
655
659
  user: Usuario
656
660
  view_user_errors: Ver todos los errores de este usuario
657
661
  user_id: 'ID: %{id}'
@@ -870,8 +874,9 @@ es:
870
874
  column_ips: IP
871
875
  column_top_path: Ruta principal
872
876
  column_top_agent: Agente principal
873
- overflow_notice_html: >-
874
- No se pudieron atribuir %{count} eventos a ninguna regla porque el búfer del rastreador estaba lleno. Aumente %{option} para capturar más.
877
+ overflow_notice_html: No se pudieron atribuir %{count} eventos a ninguna regla
878
+ porque el búfer del rastreador estaba lleno. Aumente %{option} para capturar
879
+ más.
875
880
  match_type:
876
881
  blocklist: blocklist
877
882
  throttle: throttle
@@ -1112,6 +1117,9 @@ es:
1112
1117
  sampling_rate: Porcentaje de errores capturados
1113
1118
  application_name: Nombre de esta aplicación (se detecta automáticamente si
1114
1119
  no se define)
1120
+ environment: Entorno al que se atribuyen los errores (Rails.env si no se define)
1121
+ notification_environments: Notificar solo para estos entornos (todos si no
1122
+ se define)
1115
1123
  database: Base de datos activa para los registros de errores
1116
1124
  use_separate_database: Usar una base de datos dedicada para los registros
1117
1125
  de errores
@@ -1287,11 +1295,14 @@ es:
1287
1295
  unknown_application: Desconocida
1288
1296
  error_alert:
1289
1297
  subject: "\U0001F6A8 [%{application}] %{error_type}: %{message}"
1298
+ subject_with_environment: "\U0001F6A8 [%{application} · %{environment}] %{error_type}:
1299
+ %{message}"
1290
1300
  heading: "\U0001F6A8 Alerta de error"
1291
1301
  labels:
1292
1302
  application: Aplicación
1293
1303
  error_type: Tipo de error
1294
1304
  platform: Plataforma
1305
+ environment: Entorno
1295
1306
  occurred_at: Ocurrió el
1296
1307
  user_id: ID de usuario
1297
1308
  ip_address: Dirección IP
@@ -1360,6 +1371,7 @@ es:
1360
1371
  application: Aplicación
1361
1372
  error_type: Tipo de error
1362
1373
  platform: Plataforma
1374
+ environment: Entorno
1363
1375
  occurred: Ocurrió
1364
1376
  message: Mensaje
1365
1377
  user: Usuario
@@ -1696,6 +1708,10 @@ es:
1696
1708
  platform_chart:
1697
1709
  title: Errores por plataforma
1698
1710
  quick_links: 'Enlaces rápidos:'
1711
+ environment_chart:
1712
+ title: Errores por entorno
1713
+ quick_links: 'Enlaces rápidos:'
1714
+ unknown: Desconocido
1699
1715
  type_chart:
1700
1716
  title: Los 10 tipos de error más frecuentes
1701
1717
  hour_chart:
@@ -147,6 +147,7 @@ fr:
147
147
  any: Toutes gravités
148
148
  all_apps: Toutes les applications
149
149
  all_platforms: Toutes les plateformes
150
+ all_environments: Tous les environnements
150
151
  all_types: Tous les types
151
152
  all_timeframes: Toute la période
152
153
  all_frequencies: Toutes les fréquences
@@ -175,6 +176,7 @@ fr:
175
176
  search: 'Recherche : %{value}'
176
177
  application: 'Application : %{value}'
177
178
  platform: 'Plateforme : %{value}'
179
+ environment: 'Environnement : %{value}'
178
180
  error_type: 'Type : %{value}'
179
181
  severity: 'Gravité : %{value}'
180
182
  timeframe: 'Période : %{value}'
@@ -190,6 +192,7 @@ fr:
190
192
  last_seen: Dernière occurrence
191
193
  application: Application
192
194
  platform: Plateforme
195
+ environment: Environnement
193
196
  select_all: Sélectionner toutes les erreurs
194
197
  batch:
195
198
  selected:
@@ -651,6 +654,7 @@ fr:
651
654
  low: FAIBLE
652
655
  platform: Plateforme
653
656
  view_all_platform: Voir toutes les erreurs %{platform}
657
+ view_all_environment: Voir toutes les erreurs de %{environment}
654
658
  user: Utilisateur
655
659
  view_user_errors: Voir toutes les erreurs de cet utilisateur
656
660
  user_id: 'ID : %{id}'
@@ -869,8 +873,9 @@ fr:
869
873
  column_ips: IP
870
874
  column_top_path: Chemin principal
871
875
  column_top_agent: Agent principal
872
- overflow_notice_html: >-
873
- %{count} événements n'ont pas pu être attribués à une règle car la mémoire tampon du traceur était pleine. Augmentez %{option} pour en capturer davantage.
876
+ overflow_notice_html: "%{count} événements n'ont pas pu être attribués à une
877
+ règle car la mémoire tampon du traceur était pleine. Augmentez %{option}
878
+ pour en capturer davantage."
874
879
  match_type:
875
880
  blocklist: blocklist
876
881
  throttle: throttle
@@ -1113,6 +1118,10 @@ fr:
1113
1118
  sampling_rate: Pourcentage d'erreurs capturées
1114
1119
  application_name: Nom de cette application (détecté automatiquement si non
1115
1120
  défini)
1121
+ environment: Environnement auquel les erreurs sont attribuées (Rails.env si
1122
+ non défini)
1123
+ notification_environments: Ne notifier que pour ces environnements (tous si
1124
+ non défini)
1116
1125
  database: Base de données active pour les journaux d'erreurs
1117
1126
  use_separate_database: Utiliser une base de données dédiée aux journaux d'erreurs
1118
1127
  user_model: Nom du modèle pour les associations utilisateur (détecté automatiquement
@@ -1285,11 +1294,14 @@ fr:
1285
1294
  unknown_application: Inconnue
1286
1295
  error_alert:
1287
1296
  subject: "\U0001F6A8 [%{application}] %{error_type} : %{message}"
1297
+ subject_with_environment: "\U0001F6A8 [%{application} · %{environment}] %{error_type}
1298
+ : %{message}"
1288
1299
  heading: "\U0001F6A8 Alerte d'erreur"
1289
1300
  labels:
1290
1301
  application: Application
1291
1302
  error_type: Type d'erreur
1292
1303
  platform: Plateforme
1304
+ environment: Environnement
1293
1305
  occurred_at: Survenue le
1294
1306
  user_id: ID utilisateur
1295
1307
  ip_address: Adresse IP
@@ -1359,6 +1371,7 @@ fr:
1359
1371
  application: Application
1360
1372
  error_type: Type d'erreur
1361
1373
  platform: Plateforme
1374
+ environment: Environnement
1362
1375
  occurred: Survenue
1363
1376
  message: Message
1364
1377
  user: Utilisateur
@@ -1698,6 +1711,10 @@ fr:
1698
1711
  platform_chart:
1699
1712
  title: Erreurs par plateforme
1700
1713
  quick_links: 'Liens rapides :'
1714
+ environment_chart:
1715
+ title: Erreurs par environnement
1716
+ quick_links: 'Liens rapides :'
1717
+ unknown: Inconnu
1701
1718
  type_chart:
1702
1719
  title: Top 10 des types d'erreurs
1703
1720
  hour_chart:
@@ -1,4 +1,11 @@
1
- ---
1
+ # RED dashboard translations — it
2
+ #
3
+ # MACHINE-TRANSLATED AND NOT REVIEWED BY A NATIVE SPEAKER.
4
+ # See docs/guides/TRANSLATIONS.md. Corrections are welcome, and a one-key
5
+ # pull request is a perfectly good pull request.
6
+ #
7
+ # Structure is derived from en.yml, which is authoritative. Do not add keys
8
+ # here that do not exist there — run bin/i18n-check after editing.
2
9
  it:
3
10
  red:
4
11
  common:
@@ -139,6 +146,7 @@ it:
139
146
  any: Qualsiasi gravità
140
147
  all_apps: Tutte le app
141
148
  all_platforms: Tutte le piattaforme
149
+ all_environments: Tutti gli ambienti
142
150
  all_types: Tutti i tipi
143
151
  all_timeframes: Da sempre
144
152
  all_frequencies: Tutte le frequenze
@@ -167,6 +175,7 @@ it:
167
175
  search: 'Ricerca: %{value}'
168
176
  application: 'App: %{value}'
169
177
  platform: 'Piattaforma: %{value}'
178
+ environment: 'Ambiente: %{value}'
170
179
  error_type: 'Tipo: %{value}'
171
180
  severity: 'Gravità: %{value}'
172
181
  timeframe: 'Periodo: %{value}'
@@ -182,6 +191,7 @@ it:
182
191
  last_seen: Ultima occorrenza
183
192
  application: App
184
193
  platform: Piattaforma
194
+ environment: Ambiente
185
195
  select_all: Seleziona tutti gli errori
186
196
  batch:
187
197
  selected:
@@ -637,6 +647,7 @@ it:
637
647
  low: BASSO
638
648
  platform: Piattaforma
639
649
  view_all_platform: Vedi tutti gli errori di %{platform}
650
+ view_all_environment: Vedi tutti gli errori di %{environment}
640
651
  user: Utente
641
652
  view_user_errors: Vedi tutti gli errori di questo utente
642
653
  user_id: 'ID: %{id}'
@@ -855,8 +866,9 @@ it:
855
866
  column_ips: Indirizzi IP
856
867
  column_top_path: Percorso principale
857
868
  column_top_agent: Agente principale
858
- overflow_notice_html: >-
859
- %{count} eventi non sono stati attribuiti a nessuna regola perché il buffer del tracker era pieno. Aumenta %{option} per acquisirne di più.
869
+ overflow_notice_html: "%{count} eventi non sono stati attribuiti a nessuna
870
+ regola perché il buffer del tracker era pieno. Aumenta %{option} per acquisirne
871
+ di più."
860
872
  match_type:
861
873
  blocklist: blocklist
862
874
  throttle: throttle
@@ -1096,6 +1108,10 @@ it:
1096
1108
  sampling_rate: Percentuale di errori acquisiti
1097
1109
  application_name: Nome di questa applicazione (rilevato automaticamente se
1098
1110
  non impostato)
1111
+ environment: Ambiente a cui vengono attribuiti gli errori (Rails.env se non
1112
+ impostato)
1113
+ notification_environments: Notifica solo per questi ambienti (tutti se non
1114
+ impostato)
1099
1115
  database: Database attivo per i registri degli errori
1100
1116
  use_separate_database: Usa un DB dedicato per i registri degli errori
1101
1117
  user_model: Nome del modello per le associazioni con gli utenti (rilevato
@@ -1268,11 +1284,14 @@ it:
1268
1284
  unknown_application: Sconosciuta
1269
1285
  error_alert:
1270
1286
  subject: "\U0001F6A8 [%{application}] %{error_type}: %{message}"
1287
+ subject_with_environment: "\U0001F6A8 [%{application} · %{environment}] %{error_type}:
1288
+ %{message}"
1271
1289
  heading: "\U0001F6A8 Avviso di errore"
1272
1290
  labels:
1273
1291
  application: Applicazione
1274
1292
  error_type: Tipo di errore
1275
1293
  platform: Piattaforma
1294
+ environment: Ambiente
1276
1295
  occurred_at: Data e ora
1277
1296
  user_id: ID utente
1278
1297
  ip_address: Indirizzo IP
@@ -1341,6 +1360,7 @@ it:
1341
1360
  application: Applicazione
1342
1361
  error_type: Tipo di errore
1343
1362
  platform: Piattaforma
1363
+ environment: Ambiente
1344
1364
  occurred: Verificatosi
1345
1365
  message: Messaggio
1346
1366
  user: Utente
@@ -1676,6 +1696,10 @@ it:
1676
1696
  platform_chart:
1677
1697
  title: Errori per piattaforma
1678
1698
  quick_links: 'Collegamenti rapidi:'
1699
+ environment_chart:
1700
+ title: Errori per ambiente
1701
+ quick_links: 'Collegamenti rapidi:'
1702
+ unknown: Sconosciuto
1679
1703
  type_chart:
1680
1704
  title: I 10 tipi di errore più frequenti
1681
1705
  hour_chart:
@@ -139,6 +139,7 @@ ja:
139
139
  any: 深刻度を指定しない
140
140
  all_apps: すべてのアプリ
141
141
  all_platforms: すべてのプラットフォーム
142
+ all_environments: すべての環境
142
143
  all_types: すべての種類
143
144
  all_timeframes: 全期間
144
145
  all_frequencies: すべての頻度
@@ -167,6 +168,7 @@ ja:
167
168
  search: '検索: %{value}'
168
169
  application: 'アプリ: %{value}'
169
170
  platform: 'プラットフォーム: %{value}'
171
+ environment: '環境: %{value}'
170
172
  error_type: '種類: %{value}'
171
173
  severity: '深刻度: %{value}'
172
174
  timeframe: '期間: %{value}'
@@ -182,6 +184,7 @@ ja:
182
184
  last_seen: 最終発生
183
185
  application: アプリ
184
186
  platform: プラットフォーム
187
+ environment: 環境
185
188
  select_all: すべてのエラーを選択
186
189
  batch:
187
190
  selected:
@@ -569,6 +572,7 @@ ja:
569
572
  low: 低
570
573
  platform: プラットフォーム
571
574
  view_all_platform: "%{platform}のエラーをすべて表示"
575
+ view_all_environment: "%{environment}のエラーをすべて表示"
572
576
  user: ユーザー
573
577
  view_user_errors: このユーザーのエラーをすべて表示
574
578
  user_id: 'ID: %{id}'
@@ -763,8 +767,8 @@ ja:
763
767
  column_ips: IP 数
764
768
  column_top_path: 上位パス
765
769
  column_top_agent: 主要エージェント
766
- overflow_notice_html: >-
767
- トラッカーのバッファが満杯だったため、%{count} 件のイベントをルールに割り当てられませんでした。より多く記録するには %{option} を増やしてください。
770
+ overflow_notice_html: トラッカーのバッファが満杯だったため、%{count} 件のイベントをルールに割り当てられませんでした。より多く記録するには
771
+ %{option} を増やしてください。
768
772
  match_type:
769
773
  blocklist: blocklist
770
774
  throttle: throttle
@@ -954,6 +958,8 @@ ja:
954
958
  max_backtrace_lines: スタックトレースの深さの上限
955
959
  sampling_rate: エラーを記録する割合
956
960
  application_name: このアプリケーションの名前 (未設定の場合は自動検出)
961
+ environment: エラーを紐付ける環境(未設定の場合は Rails.env)
962
+ notification_environments: 通知する環境を限定(未設定の場合はすべて)
957
963
  database: エラーログで使用中のデータベース
958
964
  use_separate_database: エラーログ専用の DB を使用します
959
965
  user_model: ユーザー紐づけに使うモデル名 (未設定の場合は自動検出)
@@ -1093,11 +1099,14 @@ ja:
1093
1099
  unknown_application: 不明
1094
1100
  error_alert:
1095
1101
  subject: "\U0001F6A8 [%{application}] %{error_type}: %{message}"
1102
+ subject_with_environment: "\U0001F6A8 [%{application} · %{environment}] %{error_type}:
1103
+ %{message}"
1096
1104
  heading: "\U0001F6A8 エラーアラート"
1097
1105
  labels:
1098
1106
  application: アプリケーション
1099
1107
  error_type: エラー種別
1100
1108
  platform: プラットフォーム
1109
+ environment: 環境
1101
1110
  occurred_at: 発生日時
1102
1111
  user_id: ユーザーID
1103
1112
  ip_address: IP アドレス
@@ -1160,6 +1169,7 @@ ja:
1160
1169
  application: アプリケーション
1161
1170
  error_type: エラー種別
1162
1171
  platform: プラットフォーム
1172
+ environment: 環境
1163
1173
  occurred: 発生日時
1164
1174
  message: メッセージ
1165
1175
  user: ユーザー
@@ -1463,6 +1473,10 @@ ja:
1463
1473
  platform_chart:
1464
1474
  title: プラットフォーム別エラー
1465
1475
  quick_links: 'クイックリンク:'
1476
+ environment_chart:
1477
+ title: 環境別のエラー
1478
+ quick_links: 'クイックリンク:'
1479
+ unknown: 不明
1466
1480
  type_chart:
1467
1481
  title: エラー種別 上位10件
1468
1482
  hour_chart:
@@ -1802,6 +1816,6 @@ ja:
1802
1816
  axis_count: 件数
1803
1817
  axis_number_of_errors: エラー件数
1804
1818
  axis_hours: 時間
1805
- suffix_hours: "時間"
1819
+ suffix_hours: 時間
1806
1820
  series_total_errors: 総エラー数
1807
1821
  series_hours_to_resolve: 解決までの時間
@@ -147,6 +147,7 @@ pl:
147
147
  any: Dowolna waga
148
148
  all_apps: Wszystkie aplikacje
149
149
  all_platforms: Wszystkie platformy
150
+ all_environments: Wszystkie środowiska
150
151
  all_types: Wszystkie typy
151
152
  all_timeframes: Od początku
152
153
  all_frequencies: Wszystkie częstotliwości
@@ -175,6 +176,7 @@ pl:
175
176
  search: 'Szukaj: %{value}'
176
177
  application: 'Aplikacja: %{value}'
177
178
  platform: 'Platforma: %{value}'
179
+ environment: 'Środowisko: %{value}'
178
180
  error_type: 'Typ: %{value}'
179
181
  severity: 'Waga: %{value}'
180
182
  timeframe: 'Okres: %{value}'
@@ -190,6 +192,7 @@ pl:
190
192
  last_seen: Ostatnio widziany
191
193
  application: Aplikacja
192
194
  platform: Platforma
195
+ environment: Środowisko
193
196
  select_all: Zaznacz wszystkie błędy
194
197
  batch:
195
198
  selected:
@@ -656,6 +659,7 @@ pl:
656
659
  low: NISKI
657
660
  platform: Platforma
658
661
  view_all_platform: Zobacz wszystkie błędy %{platform}
662
+ view_all_environment: Zobacz wszystkie błędy %{environment}
659
663
  user: Użytkownik
660
664
  view_user_errors: Zobacz wszystkie błędy tego użytkownika
661
665
  user_id: 'ID: %{id}'
@@ -877,8 +881,9 @@ pl:
877
881
  column_ips: Adresy IP
878
882
  column_top_path: Najczęstsza ścieżka
879
883
  column_top_agent: Główny agent
880
- overflow_notice_html: >-
881
- Nie udało się przypisać %{count} zdarzeń do żadnej reguły, ponieważ bufor mechanizmu śledzenia był pełny. Zwiększ %{option}, aby rejestrować więcej.
884
+ overflow_notice_html: Nie udało się przypisać %{count} zdarzeń do żadnej reguły,
885
+ ponieważ bufor mechanizmu śledzenia był pełny. Zwiększ %{option}, aby rejestrować
886
+ więcej.
882
887
  match_type:
883
888
  blocklist: blocklist
884
889
  throttle: throttle
@@ -1133,6 +1138,10 @@ pl:
1133
1138
  sampling_rate: Odsetek przechwytywanych błędów
1134
1139
  application_name: Nazwa tej aplikacji (wykrywana automatycznie, jeśli nie
1135
1140
  ustawiono)
1141
+ environment: Środowisko, do którego przypisywane są błędy (Rails.env, jeśli
1142
+ nie ustawiono)
1143
+ notification_environments: Powiadamiaj tylko dla tych środowisk (wszystkie,
1144
+ jeśli nie ustawiono)
1136
1145
  database: Aktywna baza danych dla dzienników błędów
1137
1146
  use_separate_database: Używaj dedykowanej BD dla dzienników błędów
1138
1147
  user_model: Nazwa modelu powiązań z użytkownikami (wykrywana automatycznie,
@@ -1308,11 +1317,14 @@ pl:
1308
1317
  unknown_application: Nieznana
1309
1318
  error_alert:
1310
1319
  subject: "\U0001F6A8 [%{application}] %{error_type}: %{message}"
1320
+ subject_with_environment: "\U0001F6A8 [%{application} · %{environment}] %{error_type}:
1321
+ %{message}"
1311
1322
  heading: "\U0001F6A8 Alert o błędzie"
1312
1323
  labels:
1313
1324
  application: Aplikacja
1314
1325
  error_type: Typ błędu
1315
1326
  platform: Platforma
1327
+ environment: Środowisko
1316
1328
  occurred_at: Czas wystąpienia
1317
1329
  user_id: ID użytkownika
1318
1330
  ip_address: Adres IP
@@ -1384,6 +1396,7 @@ pl:
1384
1396
  application: Aplikacja
1385
1397
  error_type: Typ błędu
1386
1398
  platform: Platforma
1399
+ environment: Środowisko
1387
1400
  occurred: Wystąpił
1388
1401
  message: Komunikat
1389
1402
  user: Użytkownik
@@ -1714,6 +1727,10 @@ pl:
1714
1727
  platform_chart:
1715
1728
  title: Błędy wg platformy
1716
1729
  quick_links: 'Szybkie odnośniki:'
1730
+ environment_chart:
1731
+ title: Błędy według środowiska
1732
+ quick_links: 'Szybkie odnośniki:'
1733
+ unknown: Nieznane
1717
1734
  type_chart:
1718
1735
  title: 10 najczęstszych typów błędów
1719
1736
  hour_chart: