diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-06-03 18:09:26 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-06-03 18:09:26 +0300 |
commit | f5f6cb45c73c8aa059c3006a3696014522a41a4b (patch) | |
tree | bde1e1c22c83276f49858e827909a1e13ef0f0c2 /lib/gitlab/sidekiq_logging | |
parent | c74f702c747d1b14c3ddea951ceb7970941dc8f5 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab/sidekiq_logging')
-rw-r--r-- | lib/gitlab/sidekiq_logging/logs_jobs.rb | 6 | ||||
-rw-r--r-- | lib/gitlab/sidekiq_logging/structured_logger.rb | 17 |
2 files changed, 13 insertions, 10 deletions
diff --git a/lib/gitlab/sidekiq_logging/logs_jobs.rb b/lib/gitlab/sidekiq_logging/logs_jobs.rb index cfe91b9a266..de08de6632b 100644 --- a/lib/gitlab/sidekiq_logging/logs_jobs.rb +++ b/lib/gitlab/sidekiq_logging/logs_jobs.rb @@ -11,7 +11,11 @@ module Gitlab def parse_job(job) # Error information from the previous try is in the payload for # displaying in the Sidekiq UI, but is very confusing in logs! - job = job.except('error_backtrace', 'error_class', 'error_message') + job = job.except( + 'error_backtrace', 'error_class', 'error_message', + 'exception.backtrace', 'exception.class', 'exception.message', 'exception.sql' + ) + job['class'] = job.delete('wrapped') if job['wrapped'].present? job['job_size_bytes'] = Sidekiq.dump_json(job['args']).bytesize diff --git a/lib/gitlab/sidekiq_logging/structured_logger.rb b/lib/gitlab/sidekiq_logging/structured_logger.rb index a9bfcce2e0a..6eb39981ef4 100644 --- a/lib/gitlab/sidekiq_logging/structured_logger.rb +++ b/lib/gitlab/sidekiq_logging/structured_logger.rb @@ -79,9 +79,14 @@ module Gitlab if job_exception payload['message'] = "#{message}: fail: #{payload['duration_s']} sec" payload['job_status'] = 'fail' - payload['error_message'] = job_exception.message - payload['error_class'] = job_exception.class.name - add_exception_backtrace!(job_exception, payload) + + Gitlab::ExceptionLogFormatter.format!(job_exception, payload) + + # Deprecated fields for compatibility + # See https://gitlab.com/gitlab-org/gitlab/-/issues/364241 + payload['error_class'] = payload['exception.class'] + payload['error_message'] = payload['exception.message'] + payload['error_backtrace'] = payload['exception.backtrace'] else payload['message'] = "#{message}: done: #{payload['duration_s']} sec" payload['job_status'] = 'done' @@ -98,12 +103,6 @@ module Gitlab payload['completed_at'] = Time.now.utc.to_f end - def add_exception_backtrace!(job_exception, payload) - return if job_exception.backtrace.blank? - - payload['error_backtrace'] = Rails.backtrace_cleaner.clean(job_exception.backtrace) - end - def elapsed(t0) t1 = get_time { duration: t1[:now] - t0[:now] } |