# HG changeset patch # User Matthew Wild # Date 1607531421 0 # Node ID 2c73544e33eae1f17975824da6b414bf3d3db62e # Parent de91b7cb73428602f9e20541e7c300f46d2828c1 mod_sentry: Automatically attach exceptions for errors used in log parameters diff -r de91b7cb7342 -r 2c73544e33ea mod_sentry/mod_sentry.lua --- a/mod_sentry/mod_sentry.lua Wed Dec 09 16:22:22 2020 +0000 +++ b/mod_sentry/mod_sentry.lua Wed Dec 09 16:30:21 2020 +0000 @@ -9,6 +9,7 @@ end local loggingmanager = require "core.loggingmanager"; +local errors = require "util.error"; local format = require "util.format".format; local default_config = assert(module:get_option("sentry"), "Please provide a 'sentry' configuration option"); @@ -61,8 +62,17 @@ level = "warning"; end + local event = sentry:event(level, name):message(format(message, ...)); + + local params = { ... }; + for i = 1, select("#", ...) do + if errors.is_error(params[i]) then + event:add_exception(params[i]); + end + end + submitting = true; - sentry:event(level, name):message(format(message, ...)):send():catch(sentry_error_handler); + event:send():catch(sentry_error_handler); submitting = false; end; end