Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-06-03 18:09:26 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-06-03 18:09:26 +0300
commitf5f6cb45c73c8aa059c3006a3696014522a41a4b (patch)
treebde1e1c22c83276f49858e827909a1e13ef0f0c2 /lib/gitlab/sidekiq_logging
parentc74f702c747d1b14c3ddea951ceb7970941dc8f5 (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.rb6
-rw-r--r--lib/gitlab/sidekiq_logging/structured_logger.rb17
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] }