-
Notifications
You must be signed in to change notification settings - Fork 34
Closed
Description
hey. i like this library so much i'm depending on it now :)
I want Logger.error() to send errors to the UI. So I created my own LoggerBackend. I've tried creating RuntimeExceptions, actual stacktraces, empty values, strings, everything i can think of, but ErrorTracker.report() always ends with
** (MatchError) no match of right hand side value: [:id, :kind, :reason, :source_line, :source_function, :status, :fingerprint, :last_occurrence_at, :inserted_at, :updated_at]
(ecto 3.12.5) lib/ecto/repo/schema.ex:365: Ecto.Repo.Schema.do_insert/4
(ecto 3.12.5) lib/ecto/repo/schema.ex:311: Ecto.Repo.Schema.insert!/4
(viru 0.1.0) lib/viru/repo.ex:19: Viru.Repo.insert!/2
(error_tracker 0.5.1) lib/error_tracker.ex:309: anonymous fn/5 in ErrorTracker.upsert_error!/5
(ecto_sql 3.12.1) lib/ecto/adapters/sql.ex:1400: anonymous fn/3 in Ecto.Adapters.SQL.checkout_or_transaction/4
(db_connection 2.7.0) lib/db_connection.ex:1756: DBConnection.run_transaction/4
(error_tracker 0.5.1) lib/error_tracker.ex:307: ErrorTracker.upsert_error!/5
(error_tracker 0.5.1) lib/error_tracker.ex:145: ErrorTracker.report/3
(tower_error_tracker 0.3.5) lib/tower_error_tracker/reporter.ex:32: TowerErrorTracker.Reporter.report_event/1
(tower 0.8.0) lib/tower.ex:478: Tower.report_event/2
(elixir 1.17.2) lib/enum.ex:987: Enum."-each/2-lists^foreach/1-0-"/2
(kernel 10.0.1) logger_backend.erl:52: :logger_backend.call_handlers/3
(viru 0.1.0) lib/viru/etl_worker.ex:59: Viru.ETLWorker.run_etl_with_catch/1
(viru 0.1.0) lib/viru/etl_worker.ex:44: Viru.ETLWorker.handle_info/2
(stdlib 6.0.1) gen_server.erl:2173: :gen_server.try_handle_info/3
(stdlib 6.0.1) gen_server.erl:2261: :gen_server.handle_msg/6
(stdlib 6.0.1) proc_lib.erl:329: :proc_lib.init_p_do_apply/3I'm discussing with the creator of Tower about this too, since they have a logger handler built in, they just can't report messages to ErrorTracker: mimiquate/tower_error_tracker#43
it would be super nice if the report() function could just accept a message, maybe level, maybe metadata, but no exception and no stacktrace.
Metadata
Metadata
Assignees
Labels
No labels