Commit 607958d1 authored by Stan Hu's avatar Stan Hu

Merge branch '54102-add-rubocop-for-rails-logger' into 'master'

Adds a Rubocop cop for Rails.logger

Closes #54102

See merge request gitlab-org/gitlab-ce!30415
parents 82503745 0ab89d8e
...@@ -12,6 +12,6 @@ class ChatTeam < ApplicationRecord ...@@ -12,6 +12,6 @@ class ChatTeam < ApplicationRecord
# Either the group is not found, or the user doesn't have the proper # Either the group is not found, or the user doesn't have the proper
# access on the mattermost instance. In the first case, we're done either way # access on the mattermost instance. In the first case, we're done either way
# in the latter case, we can't recover by retrying, so we just log what happened # in the latter case, we can't recover by retrying, so we just log what happened
Rails.logger.error("Mattermost team deletion failed: #{e}") Rails.logger.error("Mattermost team deletion failed: #{e}") # rubocop:disable Gitlab/RailsLogger
end end
end end
...@@ -266,7 +266,7 @@ module Ci ...@@ -266,7 +266,7 @@ module Ci
begin begin
Ci::Build.retry(build, build.user) Ci::Build.retry(build, build.user)
rescue Gitlab::Access::AccessDeniedError => ex rescue Gitlab::Access::AccessDeniedError => ex
Rails.logger.error "Unable to auto-retry job #{build.id}: #{ex}" Rails.logger.error "Unable to auto-retry job #{build.id}: #{ex}" # rubocop:disable Gitlab/RailsLogger
end end
end end
end end
......
...@@ -49,7 +49,7 @@ module CacheableAttributes ...@@ -49,7 +49,7 @@ module CacheableAttributes
current_without_cache.tap { |current_record| current_record&.cache! } current_without_cache.tap { |current_record| current_record&.cache! }
rescue => e rescue => e
if Rails.env.production? if Rails.env.production?
Rails.logger.warn("Cached record for #{name} couldn't be loaded, falling back to uncached record: #{e}") Rails.logger.warn("Cached record for #{name} couldn't be loaded, falling back to uncached record: #{e}") # rubocop:disable Gitlab/RailsLogger
else else
raise e raise e
end end
......
...@@ -64,7 +64,7 @@ module Storage ...@@ -64,7 +64,7 @@ module Storage
unless gitlab_shell.mv_namespace(repository_storage, full_path_before_last_save, full_path) unless gitlab_shell.mv_namespace(repository_storage, full_path_before_last_save, full_path)
Rails.logger.error "Exception moving path #{repository_storage} from #{full_path_before_last_save} to #{full_path}" Rails.logger.error "Exception moving path #{repository_storage} from #{full_path_before_last_save} to #{full_path}" # rubocop:disable Gitlab/RailsLogger
# if we cannot move namespace directory we should rollback # if we cannot move namespace directory we should rollback
# db changes in order to prevent out of sync between db and fs # db changes in order to prevent out of sync between db and fs
......
...@@ -784,6 +784,7 @@ class Project < ApplicationRecord ...@@ -784,6 +784,7 @@ class Project < ApplicationRecord
job_id job_id
end end
# rubocop:disable Gitlab/RailsLogger
def log_import_activity(job_id, type: :import) def log_import_activity(job_id, type: :import)
job_type = type.to_s.capitalize job_type = type.to_s.capitalize
...@@ -793,6 +794,7 @@ class Project < ApplicationRecord ...@@ -793,6 +794,7 @@ class Project < ApplicationRecord
Rails.logger.error("#{job_type} job failed to create for #{full_path}.") Rails.logger.error("#{job_type} job failed to create for #{full_path}.")
end end
end end
# rubocop:enable Gitlab/RailsLogger
def reset_cache_and_import_attrs def reset_cache_and_import_attrs
run_after_commit do run_after_commit do
...@@ -1665,6 +1667,7 @@ class Project < ApplicationRecord ...@@ -1665,6 +1667,7 @@ class Project < ApplicationRecord
end end
# rubocop: enable CodeReuse/ServiceClass # rubocop: enable CodeReuse/ServiceClass
# rubocop:disable Gitlab/RailsLogger
def write_repository_config(gl_full_path: full_path) def write_repository_config(gl_full_path: full_path)
# We'd need to keep track of project full path otherwise directory tree # We'd need to keep track of project full path otherwise directory tree
# created with hashed storage enabled cannot be usefully imported using # created with hashed storage enabled cannot be usefully imported using
...@@ -1674,6 +1677,7 @@ class Project < ApplicationRecord ...@@ -1674,6 +1677,7 @@ class Project < ApplicationRecord
Rails.logger.error("Error writing to .git/config for project #{full_path} (#{id}): #{e.message}.") Rails.logger.error("Error writing to .git/config for project #{full_path} (#{id}): #{e.message}.")
nil nil
end end
# rubocop:enable Gitlab/RailsLogger
def after_import def after_import
repository.after_import repository.after_import
...@@ -1715,6 +1719,7 @@ class Project < ApplicationRecord ...@@ -1715,6 +1719,7 @@ class Project < ApplicationRecord
@pipeline_status ||= Gitlab::Cache::Ci::ProjectPipelineStatus.load_for_project(self) @pipeline_status ||= Gitlab::Cache::Ci::ProjectPipelineStatus.load_for_project(self)
end end
# rubocop:disable Gitlab/RailsLogger
def add_export_job(current_user:, after_export_strategy: nil, params: {}) def add_export_job(current_user:, after_export_strategy: nil, params: {})
job_id = ProjectExportWorker.perform_async(current_user.id, self.id, after_export_strategy, params) job_id = ProjectExportWorker.perform_async(current_user.id, self.id, after_export_strategy, params)
...@@ -1724,6 +1729,7 @@ class Project < ApplicationRecord ...@@ -1724,6 +1729,7 @@ class Project < ApplicationRecord
Rails.logger.error "Export job failed to start for project ID #{self.id}" Rails.logger.error "Export job failed to start for project ID #{self.id}"
end end
end end
# rubocop:enable Gitlab/RailsLogger
def import_export_shared def import_export_shared
@import_export_shared ||= Gitlab::ImportExport::Shared.new(self) @import_export_shared ||= Gitlab::ImportExport::Shared.new(self)
......
...@@ -65,7 +65,7 @@ class ProjectImportState < ApplicationRecord ...@@ -65,7 +65,7 @@ class ProjectImportState < ApplicationRecord
update_column(:last_error, sanitized_message) update_column(:last_error, sanitized_message)
rescue ActiveRecord::ActiveRecordError => e rescue ActiveRecord::ActiveRecordError => e
Rails.logger.error("Error setting import status to failed: #{e.message}. Original error: #{sanitized_message}") Rails.logger.error("Error setting import status to failed: #{e.message}. Original error: #{sanitized_message}") # rubocop:disable Gitlab/RailsLogger
ensure ensure
@errors = original_errors @errors = original_errors
end end
......
...@@ -273,7 +273,7 @@ class Repository ...@@ -273,7 +273,7 @@ class Repository
# This will still fail if the file is corrupted (e.g. 0 bytes) # This will still fail if the file is corrupted (e.g. 0 bytes)
raw_repository.write_ref(keep_around_ref_name(sha), sha) raw_repository.write_ref(keep_around_ref_name(sha), sha)
rescue Gitlab::Git::CommandError => ex rescue Gitlab::Git::CommandError => ex
Rails.logger.error "Unable to create keep-around reference for repository #{disk_path}: #{ex}" Rails.logger.error "Unable to create keep-around reference for repository #{disk_path}: #{ex}" # rubocop:disable Gitlab/RailsLogger
end end
end end
...@@ -934,6 +934,7 @@ class Repository ...@@ -934,6 +934,7 @@ class Repository
async_remove_remote(remote_name) if tmp_remote_name async_remove_remote(remote_name) if tmp_remote_name
end end
# rubocop:disable Gitlab/RailsLogger
def async_remove_remote(remote_name) def async_remove_remote(remote_name)
return unless remote_name return unless remote_name
...@@ -947,6 +948,7 @@ class Repository ...@@ -947,6 +948,7 @@ class Repository
job_id job_id
end end
# rubocop:enable Gitlab/RailsLogger
def fetch_source_branch!(source_repository, source_branch, local_ref) def fetch_source_branch!(source_repository, source_branch, local_ref)
raw_repository.fetch_source_branch!(source_repository.raw_repository, source_branch, local_ref) raw_repository.fetch_source_branch!(source_repository.raw_repository, source_branch, local_ref)
......
...@@ -106,7 +106,7 @@ class SshHostKey ...@@ -106,7 +106,7 @@ class SshHostKey
if status.success? && !errors.present? if status.success? && !errors.present?
{ known_hosts: known_hosts } { known_hosts: known_hosts }
else else
Rails.logger.debug("Failed to detect SSH host keys for #{id}: #{errors}") Rails.logger.debug("Failed to detect SSH host keys for #{id}: #{errors}") # rubocop:disable Gitlab/RailsLogger
{ error: 'Failed to detect SSH host keys' } { error: 'Failed to detect SSH host keys' }
end end
......
...@@ -41,7 +41,7 @@ module Storage ...@@ -41,7 +41,7 @@ module Storage
gitlab_shell.mv_repository(repository_storage, "#{old_full_path}.wiki", "#{new_full_path}.wiki") gitlab_shell.mv_repository(repository_storage, "#{old_full_path}.wiki", "#{new_full_path}.wiki")
return true return true
rescue => e rescue => e
Rails.logger.error "Exception renaming #{old_full_path} -> #{new_full_path}: #{e}" Rails.logger.error "Exception renaming #{old_full_path} -> #{new_full_path}: #{e}" # rubocop:disable Gitlab/RailsLogger
# Returning false does not rollback after_* transaction but gives # Returning false does not rollback after_* transaction but gives
# us information about failing some of tasks # us information about failing some of tasks
return false return false
......
...@@ -7,7 +7,7 @@ module Uploads ...@@ -7,7 +7,7 @@ module Uploads
attr_reader :logger attr_reader :logger
def initialize(logger: nil) def initialize(logger: nil)
@logger ||= Rails.logger @logger ||= Rails.logger # rubocop:disable Gitlab/RailsLogger
end end
def delete_keys_async(keys_to_delete) def delete_keys_async(keys_to_delete)
......
...@@ -25,7 +25,7 @@ class AkismetService ...@@ -25,7 +25,7 @@ class AkismetService
is_spam, is_blatant = akismet_client.check(options[:ip_address], options[:user_agent], params) is_spam, is_blatant = akismet_client.check(options[:ip_address], options[:user_agent], params)
is_spam || is_blatant is_spam || is_blatant
rescue => e rescue => e
Rails.logger.error("Unable to connect to Akismet: #{e}, skipping check") Rails.logger.error("Unable to connect to Akismet: #{e}, skipping check") # rubocop:disable Gitlab/RailsLogger
false false
end end
end end
...@@ -63,7 +63,7 @@ class AkismetService ...@@ -63,7 +63,7 @@ class AkismetService
akismet_client.public_send(type, options[:ip_address], options[:user_agent], params) # rubocop:disable GitlabSecurity/PublicSend akismet_client.public_send(type, options[:ip_address], options[:user_agent], params) # rubocop:disable GitlabSecurity/PublicSend
true true
rescue => e rescue => e
Rails.logger.error("Unable to connect to Akismet: #{e}, skipping!") Rails.logger.error("Unable to connect to Akismet: #{e}, skipping!") # rubocop:disable Gitlab/RailsLogger
false false
end end
end end
......
...@@ -24,7 +24,7 @@ module Ci ...@@ -24,7 +24,7 @@ module Ci
def archive_error(error, job) def archive_error(error, job)
failed_archive_counter.increment failed_archive_counter.increment
Rails.logger.error "Failed to archive trace. id: #{job.id} message: #{error.message}" Rails.logger.error "Failed to archive trace. id: #{job.id} message: #{error.message}" # rubocop:disable Gitlab/RailsLogger
Gitlab::Sentry Gitlab::Sentry
.track_exception(error, .track_exception(error,
......
...@@ -58,6 +58,6 @@ module ExclusiveLeaseGuard ...@@ -58,6 +58,6 @@ module ExclusiveLeaseGuard
end end
def log_error(message, extra_args = {}) def log_error(message, extra_args = {})
Rails.logger.error(message) Rails.logger.error(message) # rubocop:disable Gitlab/RailsLogger
end end
end end
...@@ -6,7 +6,7 @@ module Groups ...@@ -6,7 +6,7 @@ module Groups
def async_execute def async_execute
job_id = GroupDestroyWorker.perform_async(group.id, current_user.id) job_id = GroupDestroyWorker.perform_async(group.id, current_user.id)
Rails.logger.info("User #{current_user.id} scheduled a deletion of group ID #{group.id} with job ID #{job_id}") Rails.logger.info("User #{current_user.id} scheduled a deletion of group ID #{group.id} with job ID #{job_id}") # rubocop:disable Gitlab/RailsLogger
end end
# rubocop: disable CodeReuse/ActiveRecord # rubocop: disable CodeReuse/ActiveRecord
......
...@@ -20,7 +20,7 @@ module Labels ...@@ -20,7 +20,7 @@ module Labels
label.save label.save
label label
else else
Rails.logger.warn("target_params should contain :project or :group or :template, actual value: #{target_params}") Rails.logger.warn("target_params should contain :project or :group or :template, actual value: #{target_params}") # rubocop:disable Gitlab/RailsLogger
end end
end end
end end
......
...@@ -113,12 +113,12 @@ module MergeRequests ...@@ -113,12 +113,12 @@ module MergeRequests
end end
def handle_merge_error(log_message:, save_message_on_model: false) def handle_merge_error(log_message:, save_message_on_model: false)
Rails.logger.error("MergeService ERROR: #{merge_request_info} - #{log_message}") Rails.logger.error("MergeService ERROR: #{merge_request_info} - #{log_message}") # rubocop:disable Gitlab/RailsLogger
@merge_request.update(merge_error: log_message) if save_message_on_model @merge_request.update(merge_error: log_message) if save_message_on_model
end end
def log_info(message) def log_info(message)
@logger ||= Rails.logger @logger ||= Rails.logger # rubocop:disable Gitlab/RailsLogger
@logger.info("#{merge_request_info} - #{message}") @logger.info("#{merge_request_info} - #{message}")
end end
......
...@@ -13,7 +13,7 @@ module Projects ...@@ -13,7 +13,7 @@ module Projects
repository.delete_all_refs_except(RESERVED_REF_PREFIXES) repository.delete_all_refs_except(RESERVED_REF_PREFIXES)
end end
rescue Projects::HousekeepingService::LeaseTaken => e rescue Projects::HousekeepingService::LeaseTaken => e
Rails.logger.info( Rails.logger.info( # rubocop:disable Gitlab/RailsLogger
"Could not perform housekeeping for project #{@project.full_path} (#{@project.id}): #{e}") "Could not perform housekeeping for project #{@project.full_path} (#{@project.id}): #{e}")
end end
......
...@@ -151,7 +151,7 @@ module Projects ...@@ -151,7 +151,7 @@ module Projects
log_message = message.dup log_message = message.dup
log_message << " Project ID: #{@project.id}" if @project&.id log_message << " Project ID: #{@project.id}" if @project&.id
Rails.logger.error(log_message) Rails.logger.error(log_message) # rubocop:disable Gitlab/RailsLogger
if @project && @project.persisted? && @project.import_state if @project && @project.persisted? && @project.import_state
@project.import_state.mark_as_failed(message) @project.import_state.mark_as_failed(message)
......
...@@ -18,7 +18,7 @@ module Projects ...@@ -18,7 +18,7 @@ module Projects
schedule_stale_repos_removal schedule_stale_repos_removal
job_id = ProjectDestroyWorker.perform_async(project.id, current_user.id, params) job_id = ProjectDestroyWorker.perform_async(project.id, current_user.id, params)
Rails.logger.info("User #{current_user.id} scheduled destruction of project #{project.full_path} with job ID #{job_id}") Rails.logger.info("User #{current_user.id} scheduled destruction of project #{project.full_path} with job ID #{job_id}") # rubocop:disable Gitlab/RailsLogger
end end
def execute def execute
......
...@@ -5,7 +5,7 @@ module Projects ...@@ -5,7 +5,7 @@ module Projects
class MigrateAttachmentsService < BaseAttachmentService class MigrateAttachmentsService < BaseAttachmentService
def initialize(project, old_disk_path, logger: nil) def initialize(project, old_disk_path, logger: nil)
@project = project @project = project
@logger = logger || Rails.logger @logger = logger || Rails.logger # rubocop:disable Gitlab/RailsLogger
@old_disk_path = old_disk_path @old_disk_path = old_disk_path
@skipped = false @skipped = false
end end
......
...@@ -5,7 +5,7 @@ module Projects ...@@ -5,7 +5,7 @@ module Projects
class RollbackAttachmentsService < BaseAttachmentService class RollbackAttachmentsService < BaseAttachmentService
def initialize(project, logger: nil) def initialize(project, logger: nil)
@project = project @project = project
@logger = logger || Rails.logger @logger = logger || Rails.logger # rubocop:disable Gitlab/RailsLogger
@old_disk_path = project.disk_path @old_disk_path = project.disk_path
end end
......
...@@ -8,7 +8,7 @@ module Projects ...@@ -8,7 +8,7 @@ module Projects
def initialize(project, old_disk_path, logger: nil) def initialize(project, old_disk_path, logger: nil)
@project = project @project = project
@old_disk_path = old_disk_path @old_disk_path = old_disk_path
@logger = logger || Rails.logger @logger = logger || Rails.logger # rubocop:disable Gitlab/RailsLogger
end end
def execute def execute
......
...@@ -62,7 +62,7 @@ module Projects ...@@ -62,7 +62,7 @@ module Projects
end end
def cleanup_and_notify_error def cleanup_and_notify_error
Rails.logger.error("Import/Export - Project #{project.name} with ID: #{project.id} export error - #{@shared.errors.join(', ')}") Rails.logger.error("Import/Export - Project #{project.name} with ID: #{project.id} export error - #{@shared.errors.join(', ')}") # rubocop:disable Gitlab/RailsLogger
FileUtils.rm_rf(@shared.export_path) FileUtils.rm_rf(@shared.export_path)
...@@ -76,7 +76,7 @@ module Projects ...@@ -76,7 +76,7 @@ module Projects
end end
def notify_success def notify_success
Rails.logger.info("Import/Export - Project #{project.name} with ID: #{project.id} successfully exported") Rails.logger.info("Import/Export - Project #{project.name} with ID: #{project.id} successfully exported") # rubocop:disable Gitlab/RailsLogger
end end
def notify_error def notify_error
......
...@@ -15,7 +15,7 @@ module Projects ...@@ -15,7 +15,7 @@ module Projects
def propagate def propagate
return unless @template.active? return unless @template.active?
Rails.logger.info("Propagating services for template #{@template.id}") Rails.logger.info("Propagating services for template #{@template.id}") # rubocop:disable Gitlab/RailsLogger
propagate_projects_with_template propagate_projects_with_template
end end
......
...@@ -5,7 +5,7 @@ module Projects ...@@ -5,7 +5,7 @@ module Projects
def execute def execute
return unless project return unless project
Rails.logger.info("Updating statistics for project #{project.id}") Rails.logger.info("Updating statistics for project #{project.id}") # rubocop:disable Gitlab/RailsLogger
project.statistics.refresh!(only: statistics.map(&:to_sym)) project.statistics.refresh!(only: statistics.map(&:to_sym))
end end
......
...@@ -28,7 +28,7 @@ class SubmitUsagePingService ...@@ -28,7 +28,7 @@ class SubmitUsagePingService
true true
rescue Gitlab::HTTP::Error => e rescue Gitlab::HTTP::Error => e
Rails.logger.info "Unable to contact GitLab, Inc.: #{e}" Rails.logger.info "Unable to contact GitLab, Inc.: #{e}" # rubocop:disable Gitlab/RailsLogger
false false
end end
......
...@@ -53,7 +53,7 @@ class WebHookService ...@@ -53,7 +53,7 @@ class WebHookService
error_message: e.to_s error_message: e.to_s
) )
Rails.logger.error("WebHook Error => #{e}") Rails.logger.error("WebHook Error => #{e}") # rubocop:disable Gitlab/RailsLogger
{ {
status: :error, status: :error,
......
...@@ -98,7 +98,7 @@ class FileMover ...@@ -98,7 +98,7 @@ class FileMover
end end
def revert def revert
Rails.logger.warn("Markdown not updated, file move reverted for #{to_model}") Rails.logger.warn("Markdown not updated, file move reverted for #{to_model}") # rubocop:disable Gitlab/RailsLogger
if temp_file_uploader.file_storage? if temp_file_uploader.file_storage?
FileUtils.move(file_path, temp_file_path) FileUtils.move(file_path, temp_file_path)
......
...@@ -27,6 +27,6 @@ module NewIssuable ...@@ -27,6 +27,6 @@ module NewIssuable
# rubocop: enable CodeReuse/ActiveRecord # rubocop: enable CodeReuse/ActiveRecord
def log_error(record_class, record_id) def log_error(record_class, record_id)
Rails.logger.error("#{self.class}: couldn't find #{record_class} with ID=#{record_id}, skipping job") Rails.logger.error("#{self.class}: couldn't find #{record_class} with ID=#{record_id}, skipping job") # rubocop:disable Gitlab/RailsLogger
end end
end end
...@@ -22,7 +22,7 @@ class CreateGpgSignatureWorker ...@@ -22,7 +22,7 @@ class CreateGpgSignatureWorker
commits.each do |commit| commits.each do |commit|
Gitlab::Gpg::Commit.new(commit).signature Gitlab::Gpg::Commit.new(commit).signature
rescue => e rescue => e
Rails.logger.error("Failed to create signature for commit #{commit.id}. Error: #{e.message}") Rails.logger.error("Failed to create signature for commit #{commit.id}. Error: #{e.message}") # rubocop:disable Gitlab/RailsLogger
end end
end end
# rubocop: enable CodeReuse/ActiveRecord # rubocop: enable CodeReuse/ActiveRecord
......
...@@ -9,6 +9,6 @@ class DeleteUserWorker ...@@ -9,6 +9,6 @@ class DeleteUserWorker
Users::DestroyService.new(current_user).execute(delete_user, options.symbolize_keys) Users::DestroyService.new(current_user).execute(delete_user, options.symbolize_keys)
rescue Gitlab::Access::AccessDeniedError => e rescue Gitlab::Access::AccessDeniedError => e
Rails.logger.warn("User could not be destroyed: #{e}") Rails.logger.warn("User could not be destroyed: #{e}") # rubocop:disable Gitlab/RailsLogger
end end
end end
...@@ -16,7 +16,7 @@ class EmailReceiverWorker ...@@ -16,7 +16,7 @@ class EmailReceiverWorker
private private
def handle_failure(raw, error) def handle_failure(raw, error)
Rails.logger.warn("Email can not be processed: #{error}\n\n#{raw}") Rails.logger.warn("Email can not be processed: #{error}\n\n#{raw}") # rubocop:disable Gitlab/RailsLogger
return unless raw.present? return unless raw.present?
......
...@@ -18,7 +18,7 @@ class ExpireBuildArtifactsWorker ...@@ -18,7 +18,7 @@ class ExpireBuildArtifactsWorker
# rubocop: disable CodeReuse/ActiveRecord # rubocop: disable CodeReuse/ActiveRecord
def perform_legacy_artifacts_removal def perform_legacy_artifacts_removal
Rails.logger.info 'Scheduling removal of build artifacts' Rails.logger.info 'Scheduling removal of build artifacts' # rubocop:disable Gitlab/RailsLogger
build_ids = Ci::Build.with_expired_artifacts.pluck(:id) build_ids = Ci::Build.with_expired_artifacts.pluck(:id)
build_ids = build_ids.map { |build_id| [build_id] } build_ids = build_ids.map { |build_id| [build_id] }
......
...@@ -12,7 +12,7 @@ class ExpireBuildInstanceArtifactsWorker ...@@ -12,7 +12,7 @@ class ExpireBuildInstanceArtifactsWorker
return unless build&.project && !build.project.pending_delete return unless build&.project && !build.project.pending_delete
Rails.logger.info "Removing artifacts for build #{build.id}..." Rails.logger.info "Removing artifacts for build #{build.id}..." # rubocop:disable Gitlab/RailsLogger
build.erase_erasable_artifacts! build.erase_erasable_artifacts!
end end
# rubocop: enable CodeReuse/ActiveRecord # rubocop: enable CodeReuse/ActiveRecord
......
...@@ -11,7 +11,7 @@ class NewNoteWorker ...@@ -11,7 +11,7 @@ class NewNoteWorker
NotificationService.new.new_note(note) unless skip_notification?(note) NotificationService.new.new_note(note) unless skip_notification?(note)
Notes::PostProcessService.new(note).execute Notes::PostProcessService.new(note).execute
else else
Rails.logger.error("NewNoteWorker: couldn't find note with ID=#{note_id}, skipping job") Rails.logger.error("NewNoteWorker: couldn't find note with ID=#{note_id}, skipping job") # rubocop:disable Gitlab/RailsLogger
end end
end end
......
...@@ -37,6 +37,7 @@ module ObjectStorage ...@@ -37,6 +37,7 @@ module ObjectStorage
end end
end end
# rubocop:disable Gitlab/RailsLogger
def report!(results) def report!(results)
success, failures = results.partition(&:success?) success, failures = results.partition(&:success?)
...@@ -45,6 +46,7 @@ module ObjectStorage ...@@ -45,6 +46,7 @@ module ObjectStorage
raise MigrationFailures.new(failures.map(&:error)) if failures.any? raise MigrationFailures.new(failures.map(&:error)) if failures.any?
end end
# rubocop:enable Gitlab/RailsLogger
def header(success, failures) def header(success, failures)
_("Migrated %{success_count}/%{total_count} files.") % { success_count: success.count, total_count: success.count + failures.count } _("Migrated %{success_count}/%{total_count} files.") % { success_count: success.count, total_count: success.count + failures.count }
...@@ -98,7 +100,7 @@ module ObjectStorage ...@@ -98,7 +100,7 @@ module ObjectStorage
report!(results) report!(results)
rescue SanityCheckError => e rescue SanityCheckError => e
# do not retry: the job is insane # do not retry: the job is insane
Rails.logger.warn "#{self.class}: Sanity check error (#{e.message})" Rails.logger.warn "#{self.class}: Sanity check error (#{e.message})" # rubocop:disable Gitlab/RailsLogger
end end
# rubocop: enable CodeReuse/ActiveRecord # rubocop: enable CodeReuse/ActiveRecord
......
...@@ -35,7 +35,7 @@ class RepositoryForkWorker ...@@ -35,7 +35,7 @@ class RepositoryForkWorker
def start_fork(project) def start_fork(project)
return true if start(project.import_state) return true if start(project.import_state)
Rails.logger.info("Project #{project.full_path} was in inconsistent state (#{project.import_status}) while forking.") Rails.logger.info("Project #{project.full_path} was in inconsistent state (#{project.import_status}) while forking.") # rubocop:disable Gitlab/RailsLogger
false false
end end
end end
...@@ -36,7 +36,7 @@ class RepositoryImportWorker ...@@ -36,7 +36,7 @@ class RepositoryImportWorker
def start_import def start_import
return true if start(project.import_state) return true if start(project.import_state)
Rails.logger.info("Project #{project.full_path} was in inconsistent state (#{project.import_status}) while importing.") Rails.logger.info("Project #{project.full_path} was in inconsistent state (#{project.import_status}) while importing.") # rubocop:disable Gitlab/RailsLogger
false false
end end
......
...@@ -45,6 +45,6 @@ class RepositoryUpdateRemoteMirrorWorker ...@@ -45,6 +45,6 @@ class RepositoryUpdateRemoteMirrorWorker
def fail_remote_mirror(remote_mirror, message) def fail_remote_mirror(remote_mirror, message)
remote_mirror.mark_as_failed(message) remote_mirror.mark_as_failed(message)
Rails.logger.error(message) Rails.logger.error(message) # rubocop:disable Gitlab/RailsLogger
end end
end end
...@@ -30,6 +30,7 @@ class RunPipelineScheduleWorker ...@@ -30,6 +30,7 @@ class RunPipelineScheduleWorker
private private
# rubocop:disable Gitlab/RailsLogger
def error(schedule, error) def error(schedule, error)
failed_creation_counter.increment failed_creation_counter.increment
...@@ -41,6 +42,7 @@ class RunPipelineScheduleWorker ...@@ -41,6 +42,7 @@ class RunPipelineScheduleWorker
issue_url: 'https://gitlab.com/gitlab-org/gitlab-ce/issues/41231', issue_url: 'https://gitlab.com/gitlab-org/gitlab-ce/issues/41231',
extra: { schedule_id: schedule.id }) extra: { schedule_id: schedule.id })
end end
# rubocop:enable Gitlab/RailsLogger
def failed_creation_counter def failed_creation_counter
@failed_creation_counter ||= @failed_creation_counter ||=
......
...@@ -14,7 +14,7 @@ class StuckCiJobsWorker ...@@ -14,7 +14,7 @@ class StuckCiJobsWorker
def perform def perform
return unless try_obtain_lease return unless try_obtain_lease
Rails.logger.info "#{self.class}: Cleaning stuck builds" Rails.logger.info "#{self.class}: Cleaning stuck builds" # rubocop:disable Gitlab/RailsLogger
drop :running, BUILD_RUNNING_OUTDATED_TIMEOUT, 'ci_builds.updated_at < ?', :stuck_or_timeout_failure drop :running, BUILD_RUNNING_OUTDATED_TIMEOUT, 'ci_builds.updated_at < ?', :stuck_or_timeout_failure
drop :pending, BUILD_PENDING_OUTDATED_TIMEOUT, 'ci_builds.updated_at < ?', :stuck_or_timeout_failure drop :pending, BUILD_PENDING_OUTDATED_TIMEOUT, 'ci_builds.updated_at < ?', :stuck_or_timeout_failure
...@@ -66,7 +66,7 @@ class StuckCiJobsWorker ...@@ -66,7 +66,7 @@ class StuckCiJobsWorker
# rubocop: enable CodeReuse/ActiveRecord # rubocop: enable CodeReuse/ActiveRecord
def drop_build(type, build, status, timeout, reason) def drop_build(type, build, status, timeout, reason)
Rails.logger.info "#{self.class}: Dropping #{type} build #{build.id} for runner #{build.runner_id} (status: #{status}, timeout: #{timeout}, reason: #{reason})" Rails.logger.info "#{self.class}: Dropping #{type} build #{build.id} for runner #{build.runner_id} (status: #{status}, timeout: #{timeout}, reason: #{reason})" # rubocop:disable Gitlab/RailsLogger
Gitlab::OptimisticLocking.retry_lock(build, 3) do |b| Gitlab::OptimisticLocking.retry_lock(build, 3) do |b|
b.drop(reason) b.drop(reason)
end end
......
...@@ -38,7 +38,7 @@ class StuckImportJobsWorker ...@@ -38,7 +38,7 @@ class StuckImportJobsWorker
completed_import_states = enqueued_import_states_with_jid.where(id: completed_import_state_ids) completed_import_states = enqueued_import_states_with_jid.where(id: completed_import_state_ids)
completed_import_state_jids = completed_import_states.map { |import_state| import_state.jid }.join(', ') completed_import_state_jids = completed_import_states.map { |import_state| import_state.jid }.join(', ')
Rails.logger.info("Marked stuck import jobs as failed. JIDs: #{completed_import_state_jids}") Rails.logger.info("Marked stuck import jobs as failed. JIDs: #{completed_import_state_jids}") # rubocop:disable Gitlab/RailsLogger
completed_import_states.each do |import_state| completed_import_states.each do |import_state|
import_state.mark_as_failed(error_message) import_state.mark_as_failed(error_message)
......
...@@ -5,7 +5,7 @@ class StuckMergeJobsWorker ...@@ -5,7 +5,7 @@ class StuckMergeJobsWorker
include CronjobQueue include CronjobQueue
def self.logger def self.logger
Rails.logger Rails.logger # rubocop:disable Gitlab/RailsLogger
end end
# rubocop: disable CodeReuse/ActiveRecord # rubocop: disable CodeReuse/ActiveRecord
......
...@@ -5,7 +5,7 @@ class TrendingProjectsWorker ...@@ -5,7 +5,7 @@ class TrendingProjectsWorker
include CronjobQueue include CronjobQueue
def perform def perform
Rails.logger.info('Refreshing trending projects') Rails.logger.info('Refreshing trending projects') # rubocop:disable Gitlab/RailsLogger
TrendingProject.refresh! TrendingProject.refresh!
end end
......
...@@ -27,7 +27,7 @@ class UpdateMergeRequestsWorker ...@@ -27,7 +27,7 @@ class UpdateMergeRequestsWorker
"ref=#{ref}" "ref=#{ref}"
].join(',') ].join(',')
Rails.logger.info("UpdateMergeRequestsWorker#perform #{args_log}") if time.real > LOG_TIME_THRESHOLD Rails.logger.info("UpdateMergeRequestsWorker#perform #{args_log}") if time.real > LOG_TIME_THRESHOLD # rubocop:disable Gitlab/RailsLogger
end end
# rubocop: enable CodeReuse/ActiveRecord # rubocop: enable CodeReuse/ActiveRecord
end end
...@@ -8,6 +8,6 @@ class UploadChecksumWorker ...@@ -8,6 +8,6 @@ class UploadChecksumWorker
upload.calculate_checksum! upload.calculate_checksum!
upload.save! upload.save!
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
Rails.logger.error("UploadChecksumWorker: couldn't find upload #{upload_id}, skipping") Rails.logger.error("UploadChecksumWorker: couldn't find upload #{upload_id}, skipping") # rubocop:disable Gitlab/RailsLogger
end end
end end
...@@ -55,7 +55,7 @@ if Settings.ldap['enabled'] || Rails.env.test? ...@@ -55,7 +55,7 @@ if Settings.ldap['enabled'] || Rails.env.test?
server['tls_options'] ||= {} server['tls_options'] ||= {}
if server['ssl_version'] || server['ca_file'] if server['ssl_version'] || server['ca_file']
Rails.logger.warn 'DEPRECATED: LDAP options `ssl_version` and `ca_file` should be nested within `tls_options`' Rails.logger.warn 'DEPRECATED: LDAP options `ssl_version` and `ca_file` should be nested within `tls_options`' # rubocop:disable Gitlab/RailsLogger
end end
if server['ssl_version'] if server['ssl_version']
......
...@@ -17,7 +17,7 @@ def prometheus_default_multiproc_dir ...@@ -17,7 +17,7 @@ def prometheus_default_multiproc_dir
end end
Prometheus::Client.configure do |config| Prometheus::Client.configure do |config|
config.logger = Rails.logger config.logger = Rails.logger # rubocop:disable Gitlab/RailsLogger
config.initial_mmap_file_size = 4 * 1024 config.initial_mmap_file_size = 4 * 1024
......
...@@ -7,7 +7,7 @@ if defined?(ActiveRecord::Base) && !Sidekiq.server? ...@@ -7,7 +7,7 @@ if defined?(ActiveRecord::Base) && !Sidekiq.server?
ActiveSupport.on_load(:active_record) do ActiveSupport.on_load(:active_record) do
ActiveRecord::Base.establish_connection ActiveRecord::Base.establish_connection
Rails.logger.debug("ActiveRecord connection established") Rails.logger.debug("ActiveRecord connection established") # rubocop:disable Gitlab/RailsLogger
end end
end end
end end
...@@ -18,6 +18,6 @@ if defined?(ActiveRecord::Base) ...@@ -18,6 +18,6 @@ if defined?(ActiveRecord::Base)
# as there's no need for the master process to hold a connection # as there's no need for the master process to hold a connection
ActiveRecord::Base.connection.disconnect! ActiveRecord::Base.connection.disconnect!
Rails.logger.debug("ActiveRecord connection disconnected") Rails.logger.debug("ActiveRecord connection disconnected") # rubocop:disable Gitlab/RailsLogger
end end
end end
...@@ -2,7 +2,7 @@ if Rails.env.development? || ENV['GITLAB_LEGACY_PATH_LOG_MESSAGE'] ...@@ -2,7 +2,7 @@ if Rails.env.development? || ENV['GITLAB_LEGACY_PATH_LOG_MESSAGE']
deprecator = ActiveSupport::Deprecation.new('11.0', 'GitLab') deprecator = ActiveSupport::Deprecation.new('11.0', 'GitLab')
deprecator.behavior = -> (message, callstack) { deprecator.behavior = -> (message, callstack) {
Rails.logger.warn("#{message}: #{callstack[1..20].join}") Rails.logger.warn("#{message}: #{callstack[1..20].join}") # rubocop:disable Gitlab/RailsLogger
} }
ActiveSupport::Deprecation.deprecate_methods(Gitlab::GitalyClient::StorageSettings, :legacy_disk_path, deprecator: deprecator) ActiveSupport::Deprecation.deprecate_methods(Gitlab::GitalyClient::StorageSettings, :legacy_disk_path, deprecator: deprecator)
......
...@@ -72,7 +72,7 @@ Sidekiq.configure_server do |config| ...@@ -72,7 +72,7 @@ Sidekiq.configure_server do |config|
cron_jobs[k]['class'] = cron_jobs[k].delete('job_class') cron_jobs[k]['class'] = cron_jobs[k].delete('job_class')
else else
cron_jobs.delete(k) cron_jobs.delete(k)
Rails.logger.error("Invalid cron_jobs config key: '#{k}'. Check your gitlab config file.") Rails.logger.error("Invalid cron_jobs config key: '#{k}'. Check your gitlab config file.") # rubocop:disable Gitlab/RailsLogger
end end
end end
Sidekiq::Cron::Job.load_from_hash! cron_jobs Sidekiq::Cron::Job.load_from_hash! cron_jobs
...@@ -83,7 +83,7 @@ Sidekiq.configure_server do |config| ...@@ -83,7 +83,7 @@ Sidekiq.configure_server do |config|
Rails.application.config.database_configuration[Rails.env] Rails.application.config.database_configuration[Rails.env]
db_config['pool'] = Sidekiq.options[:concurrency] db_config['pool'] = Sidekiq.options[:concurrency]
ActiveRecord::Base.establish_connection(db_config) ActiveRecord::Base.establish_connection(db_config)
Rails.logger.debug("Connection Pool size for Sidekiq Server is now: #{ActiveRecord::Base.connection.pool.instance_variable_get('@size')}") Rails.logger.debug("Connection Pool size for Sidekiq Server is now: #{ActiveRecord::Base.connection.pool.instance_variable_get('@size')}") # rubocop:disable Gitlab/RailsLogger
Gitlab.ee do Gitlab.ee do
Gitlab::Mirror.configure_cron_job! Gitlab::Mirror.configure_cron_job!
...@@ -94,7 +94,7 @@ Sidekiq.configure_server do |config| ...@@ -94,7 +94,7 @@ Sidekiq.configure_server do |config|
Rails.configuration.geo_database['pool'] = Sidekiq.options[:concurrency] Rails.configuration.geo_database['pool'] = Sidekiq.options[:concurrency]
Geo::TrackingBase.establish_connection(Rails.configuration.geo_database) Geo::TrackingBase.establish_connection(Rails.configuration.geo_database)
Rails.logger.debug("Connection Pool size for Sidekiq Server is now: #{Geo::TrackingBase.connection_pool.size} (Geo tracking database)") Rails.logger.debug("Connection Pool size for Sidekiq Server is now: #{Geo::TrackingBase.connection_pool.size} (Geo tracking database)") # rubocop:disable Gitlab/RailsLogger
end end
end end
......
post '/api/graphql', to: 'graphql#execute' post '/api/graphql', to: 'graphql#execute'
mount GraphiQL::Rails::Engine, at: '/-/graphql-explorer', graphql_path: '/api/graphql' mount GraphiQL::Rails::Engine, at: '/-/graphql-explorer', graphql_path: '/api/graphql'
::API::API.logger Rails.logger ::API::API.logger Rails.logger # rubocop:disable Gitlab/RailsLogger
mount ::API::API => '/' mount ::API::API => '/'
...@@ -82,7 +82,7 @@ class BuildUserInteractedProjectsTable < ActiveRecord::Migration[4.2] ...@@ -82,7 +82,7 @@ class BuildUserInteractedProjectsTable < ActiveRecord::Migration[4.2]
iteration = 0 iteration = 0
records = 0 records = 0
begin begin
Rails.logger.info "Building user_interacted_projects table, batch ##{iteration}" Rails.logger.info "Building user_interacted_projects table, batch ##{iteration}" # rubocop:disable Gitlab/RailsLogger
result = execute <<~SQL result = execute <<~SQL
INSERT INTO user_interacted_projects (user_id, project_id) INSERT INTO user_interacted_projects (user_id, project_id)
SELECT e.user_id, e.project_id SELECT e.user_id, e.project_id
...@@ -93,7 +93,7 @@ class BuildUserInteractedProjectsTable < ActiveRecord::Migration[4.2] ...@@ -93,7 +93,7 @@ class BuildUserInteractedProjectsTable < ActiveRecord::Migration[4.2]
SQL SQL
iteration += 1 iteration += 1
records += result.cmd_tuples records += result.cmd_tuples
Rails.logger.info "Building user_interacted_projects table, batch ##{iteration} complete, created #{records} overall" Rails.logger.info "Building user_interacted_projects table, batch ##{iteration} complete, created #{records} overall" # rubocop:disable Gitlab/RailsLogger
Kernel.sleep(SLEEP_TIME) if result.cmd_tuples > 0 Kernel.sleep(SLEEP_TIME) if result.cmd_tuples > 0
end while result.cmd_tuples > 0 end while result.cmd_tuples > 0
end end
......
...@@ -72,7 +72,7 @@ module API ...@@ -72,7 +72,7 @@ module API
result == 'PONG' result == 'PONG'
rescue => e rescue => e
Rails.logger.warn("GitLab: An unexpected error occurred in pinging to Redis: #{e}") Rails.logger.warn("GitLab: An unexpected error occurred in pinging to Redis: #{e}") # rubocop:disable Gitlab/RailsLogger
false false
end end
......
...@@ -94,6 +94,7 @@ module Gitlab ...@@ -94,6 +94,7 @@ module Gitlab
end end
end end
# rubocop:disable Gitlab/RailsLogger
def rate_limit!(ip, success:, login:) def rate_limit!(ip, success:, login:)
rate_limiter = Gitlab::Auth::IpRateLimiter.new(ip) rate_limiter = Gitlab::Auth::IpRateLimiter.new(ip)
return unless rate_limiter.enabled? return unless rate_limiter.enabled?
...@@ -114,6 +115,7 @@ module Gitlab ...@@ -114,6 +115,7 @@ module Gitlab
end end
end end
end end
# rubocop:enable Gitlab/RailsLogger
private private
......
...@@ -55,7 +55,7 @@ module Gitlab ...@@ -55,7 +55,7 @@ module Gitlab
response = ldap.get_operation_result response = ldap.get_operation_result
unless response.code.zero? unless response.code.zero?
Rails.logger.warn("LDAP search error: #{response.message}") Rails.logger.warn("LDAP search error: #{response.message}") # rubocop:disable Gitlab/RailsLogger
end end
[] []
...@@ -67,7 +67,7 @@ module Gitlab ...@@ -67,7 +67,7 @@ module Gitlab
retries += 1 retries += 1
error_message = connection_error_message(error) error_message = connection_error_message(error)
Rails.logger.warn(error_message) Rails.logger.warn(error_message) # rubocop:disable Gitlab/RailsLogger
if retries < MAX_SEARCH_RETRIES if retries < MAX_SEARCH_RETRIES
renew_connection_adapter renew_connection_adapter
......
...@@ -240,7 +240,7 @@ module Gitlab ...@@ -240,7 +240,7 @@ module Gitlab
begin begin
custom_options[:cert] = OpenSSL::X509::Certificate.new(custom_options[:cert]) custom_options[:cert] = OpenSSL::X509::Certificate.new(custom_options[:cert])
rescue OpenSSL::X509::CertificateError => e rescue OpenSSL::X509::CertificateError => e
Rails.logger.error "LDAP TLS Options 'cert' is invalid for provider #{provider}: #{e.message}" Rails.logger.error "LDAP TLS Options 'cert' is invalid for provider #{provider}: #{e.message}" # rubocop:disable Gitlab/RailsLogger
end end
end end
...@@ -248,7 +248,7 @@ module Gitlab ...@@ -248,7 +248,7 @@ module Gitlab
begin begin
custom_options[:key] = OpenSSL::PKey.read(custom_options[:key]) custom_options[:key] = OpenSSL::PKey.read(custom_options[:key])
rescue OpenSSL::PKey::PKeyError => e rescue OpenSSL::PKey::PKeyError => e
Rails.logger.error "LDAP TLS Options 'key' is invalid for provider #{provider}: #{e.message}" Rails.logger.error "LDAP TLS Options 'key' is invalid for provider #{provider}: #{e.message}" # rubocop:disable Gitlab/RailsLogger
end end
end end
......
...@@ -45,7 +45,7 @@ module Gitlab ...@@ -45,7 +45,7 @@ module Gitlab
def self.normalize_dn(dn) def self.normalize_dn(dn)
::Gitlab::Auth::LDAP::DN.new(dn).to_normalized_s ::Gitlab::Auth::LDAP::DN.new(dn).to_normalized_s
rescue ::Gitlab::Auth::LDAP::DN::FormatError => e rescue ::Gitlab::Auth::LDAP::DN::FormatError => e
Rails.logger.info("Returning original DN \"#{dn}\" due to error during normalization attempt: #{e.message}") Rails.logger.info("Returning original DN \"#{dn}\" due to error during normalization attempt: #{e.message}") # rubocop:disable Gitlab/RailsLogger
dn dn
end end
...@@ -57,13 +57,13 @@ module Gitlab ...@@ -57,13 +57,13 @@ module Gitlab
def self.normalize_uid(uid) def self.normalize_uid(uid)
::Gitlab::Auth::LDAP::DN.normalize_value(uid) ::Gitlab::Auth::LDAP::DN.normalize_value(uid)
rescue ::Gitlab::Auth::LDAP::DN::FormatError => e rescue ::Gitlab::Auth::LDAP::DN::FormatError => e
Rails.logger.info("Returning original UID \"#{uid}\" due to error during normalization attempt: #{e.message}") Rails.logger.info("Returning original UID \"#{uid}\" due to error during normalization attempt: #{e.message}") # rubocop:disable Gitlab/RailsLogger
uid uid
end end
def initialize(entry, provider) def initialize(entry, provider)
Rails.logger.debug { "Instantiating #{self.class.name} with LDIF:\n#{entry.to_ldif}" } Rails.logger.debug { "Instantiating #{self.class.name} with LDIF:\n#{entry.to_ldif}" } # rubocop:disable Gitlab/RailsLogger
@entry = entry @entry = entry
@provider = provider @provider = provider
end end
......
...@@ -9,7 +9,7 @@ module Gitlab ...@@ -9,7 +9,7 @@ module Gitlab
end end
def perform(start_id, stop_id) def perform(start_id, stop_id)
Rails.logger.info("Setting commits_count for merge request diffs: #{start_id} - #{stop_id}") Rails.logger.info("Setting commits_count for merge request diffs: #{start_id} - #{stop_id}") # rubocop:disable Gitlab/RailsLogger
update = ' update = '
commits_count = ( commits_count = (
......
...@@ -14,7 +14,7 @@ module Gitlab ...@@ -14,7 +14,7 @@ module Gitlab
build.trace.archive! build.trace.archive!
rescue => e rescue => e
Rails.logger.error "Failed to archive live trace. id: #{build.id} message: #{e.message}" Rails.logger.error "Failed to archive live trace. id: #{build.id} message: #{e.message}" # rubocop:disable Gitlab/RailsLogger
end end
end end
end end
......
...@@ -10,7 +10,7 @@ module Gitlab ...@@ -10,7 +10,7 @@ module Gitlab
.includes(project: [:route, :group, namespace: [:owner]]).find_each do |statistics| .includes(project: [:route, :group, namespace: [:owner]]).find_each do |statistics|
statistics.refresh!(only: [:wiki_size]) statistics.refresh!(only: [:wiki_size])
rescue => e rescue => e
Rails.logger.error "Failed to update wiki statistics. id: #{statistics.id} message: #{e.message}" Rails.logger.error "Failed to update wiki statistics. id: #{statistics.id} message: #{e.message}" # rubocop:disable Gitlab/RailsLogger
end end
end end
end end
......
...@@ -32,7 +32,7 @@ module Gitlab ...@@ -32,7 +32,7 @@ module Gitlab
) )
end end
rescue => e rescue => e
Rails.logger.error "Failed to update pages domain certificate valid time. id: #{domain.id}, message: #{e.message}" Rails.logger.error "Failed to update pages domain certificate valid time. id: #{domain.id}, message: #{e.message}" # rubocop:disable Gitlab/RailsLogger
end end
end end
end end
......
...@@ -108,7 +108,7 @@ module Gitlab ...@@ -108,7 +108,7 @@ module Gitlab
next unless matching_label next unless matching_label
Rails.logger.info "#{resource.class.name.demodulize} #{resource.id}: replacing #{label.label_id} with #{matching_label.id}" Rails.logger.info "#{resource.class.name.demodulize} #{resource.id}: replacing #{label.label_id} with #{matching_label.id}" # rubocop:disable Gitlab/RailsLogger
LabelLink.update(label.label_link_id, label_id: matching_label.id) LabelLink.update(label.label_link_id, label_id: matching_label.id)
end end
end end
......
...@@ -42,7 +42,7 @@ module Gitlab ...@@ -42,7 +42,7 @@ module Gitlab
#{e.message} #{e.message}
#{e.backtrace.join("\n ")} #{e.backtrace.join("\n ")}
MSG MSG
Rails.logger.error(msg) Rails.logger.error(msg) # rubocop:disable Gitlab/RailsLogger
false false
end end
end end
......
...@@ -111,7 +111,7 @@ module Gitlab ...@@ -111,7 +111,7 @@ module Gitlab
cmd = %W[#{ionice} -c Idle] + cmd if ionice cmd = %W[#{ionice} -c Idle] + cmd if ionice
log_msg = "PrepareUntrackedUploads find command: \"#{cmd.join(' ')}\"" log_msg = "PrepareUntrackedUploads find command: \"#{cmd.join(' ')}\""
Rails.logger.info log_msg Rails.logger.info log_msg # rubocop:disable Gitlab/RailsLogger
cmd cmd
end end
......
...@@ -17,7 +17,7 @@ module Gitlab ...@@ -17,7 +17,7 @@ module Gitlab
@limit = limit @limit = limit
@dry_run = dry_run @dry_run = dry_run
@niceness = niceness || DEFAULT_NICENESS @niceness = niceness || DEFAULT_NICENESS
@logger = logger || Rails.logger @logger = logger || Rails.logger # rubocop:disable Gitlab/RailsLogger
@total_found = @total_cleaned = 0 @total_found = @total_cleaned = 0
new_batch! new_batch!
......
...@@ -22,7 +22,7 @@ module Gitlab ...@@ -22,7 +22,7 @@ module Gitlab
attr_reader :batch_size, :dry_run attr_reader :batch_size, :dry_run
attr_accessor :artifact_files attr_accessor :artifact_files
def initialize(batch_size:, dry_run: true, logger: Rails.logger) def initialize(batch_size:, dry_run: true, logger: Rails.logger) # rubocop:disable Gitlab/RailsLogger
@batch_size = batch_size @batch_size = batch_size
@dry_run = dry_run @dry_run = dry_run
@logger = logger @logger = logger
......
...@@ -49,7 +49,7 @@ module Gitlab ...@@ -49,7 +49,7 @@ module Gitlab
cmd = %W[#{ionice} -c Idle] + cmd if ionice cmd = %W[#{ionice} -c Idle] + cmd if ionice
log_msg = "find command: \"#{cmd.join(' ')}\"" log_msg = "find command: \"#{cmd.join(' ')}\""
Rails.logger.info log_msg Rails.logger.info log_msg # rubocop:disable Gitlab/RailsLogger
cmd cmd
end end
......
...@@ -8,7 +8,7 @@ module Gitlab ...@@ -8,7 +8,7 @@ module Gitlab
attr_reader :logger attr_reader :logger
def initialize(logger: nil) def initialize(logger: nil)
@logger = logger || Rails.logger @logger = logger || Rails.logger # rubocop:disable Gitlab/RailsLogger
end end
def run!(dry_run: true) def run!(dry_run: true)
......
...@@ -7,7 +7,7 @@ module Gitlab ...@@ -7,7 +7,7 @@ module Gitlab
BATCH_SIZE = 100 BATCH_SIZE = 100
def initialize(logger: nil) def initialize(logger: nil)
@logger = logger || Rails.logger @logger = logger || Rails.logger # rubocop:disable Gitlab/RailsLogger
end end
def run!(dry_run: false) def run!(dry_run: false)
......
...@@ -310,7 +310,7 @@ module Gitlab ...@@ -310,7 +310,7 @@ module Gitlab
gitlab_database_transaction_seconds.observe(labels, duration_seconds) gitlab_database_transaction_seconds.observe(labels, duration_seconds)
rescue Prometheus::Client::LabelSetValidator::LabelSetError => err rescue Prometheus::Client::LabelSetValidator::LabelSetError => err
# Ensure that errors in recording these metrics don't affect the operation of the application # Ensure that errors in recording these metrics don't affect the operation of the application
Rails.logger.error("Unable to observe database transaction duration: #{err}") Rails.logger.error("Unable to observe database transaction duration: #{err}") # rubocop:disable Gitlab/RailsLogger
end end
# MonkeyPatch for ActiveRecord::Base for adding observability # MonkeyPatch for ActiveRecord::Base for adding observability
......
...@@ -61,7 +61,7 @@ module Gitlab ...@@ -61,7 +61,7 @@ module Gitlab
end end
if index_exists?(table_name, column_name, options) if index_exists?(table_name, column_name, options)
Rails.logger.warn "Index not created because it already exists (this may be due to an aborted migration or similar): table_name: #{table_name}, column_name: #{column_name}" Rails.logger.warn "Index not created because it already exists (this may be due to an aborted migration or similar): table_name: #{table_name}, column_name: #{column_name}" # rubocop:disable Gitlab/RailsLogger
return return
end end
...@@ -91,7 +91,7 @@ module Gitlab ...@@ -91,7 +91,7 @@ module Gitlab
end end
unless index_exists?(table_name, column_name, options) unless index_exists?(table_name, column_name, options)
Rails.logger.warn "Index not removed because it does not exist (this may be due to an aborted migration or similar): table_name: #{table_name}, column_name: #{column_name}" Rails.logger.warn "Index not removed because it does not exist (this may be due to an aborted migration or similar): table_name: #{table_name}, column_name: #{column_name}" # rubocop:disable Gitlab/RailsLogger
return return
end end
...@@ -121,7 +121,7 @@ module Gitlab ...@@ -121,7 +121,7 @@ module Gitlab
end end
unless index_exists_by_name?(table_name, index_name) unless index_exists_by_name?(table_name, index_name)
Rails.logger.warn "Index not removed because it does not exist (this may be due to an aborted migration or similar): table_name: #{table_name}, index_name: #{index_name}" Rails.logger.warn "Index not removed because it does not exist (this may be due to an aborted migration or similar): table_name: #{table_name}, index_name: #{index_name}" # rubocop:disable Gitlab/RailsLogger
return return
end end
...@@ -149,6 +149,8 @@ module Gitlab ...@@ -149,6 +149,8 @@ module Gitlab
# column - The name of the column to create the foreign key on. # column - The name of the column to create the foreign key on.
# on_delete - The action to perform when associated data is removed, # on_delete - The action to perform when associated data is removed,
# defaults to "CASCADE". # defaults to "CASCADE".
#
# rubocop:disable Gitlab/RailsLogger
def add_concurrent_foreign_key(source, target, column:, on_delete: :cascade, name: nil) def add_concurrent_foreign_key(source, target, column:, on_delete: :cascade, name: nil)
# Transactions would result in ALTER TABLE locks being held for the # Transactions would result in ALTER TABLE locks being held for the
# duration of the transaction, defeating the purpose of this method. # duration of the transaction, defeating the purpose of this method.
...@@ -208,6 +210,7 @@ module Gitlab ...@@ -208,6 +210,7 @@ module Gitlab
execute("ALTER TABLE #{source} VALIDATE CONSTRAINT #{key_name};") execute("ALTER TABLE #{source} VALIDATE CONSTRAINT #{key_name};")
end end
end end
# rubocop:enable Gitlab/RailsLogger
def foreign_key_exists?(source, target = nil, column: nil) def foreign_key_exists?(source, target = nil, column: nil)
foreign_keys(source).any? do |key| foreign_keys(source).any? do |key|
......
...@@ -70,7 +70,7 @@ module Gitlab ...@@ -70,7 +70,7 @@ module Gitlab
unless gitlab_shell.mv_namespace(repository_storage, old_full_path, new_full_path) unless gitlab_shell.mv_namespace(repository_storage, old_full_path, new_full_path)
message = "Exception moving on shard #{repository_storage} from #{old_full_path} to #{new_full_path}" message = "Exception moving on shard #{repository_storage} from #{old_full_path} to #{new_full_path}"
Rails.logger.error message Rails.logger.error message # rubocop:disable Gitlab/RailsLogger
end end
end end
end end
......
...@@ -56,7 +56,7 @@ module Gitlab ...@@ -56,7 +56,7 @@ module Gitlab
unless gitlab_shell.mv_repository(project.repository_storage, unless gitlab_shell.mv_repository(project.repository_storage,
old_path, old_path,
new_path) new_path)
Rails.logger.error "Error moving #{old_path} to #{new_path}" Rails.logger.error "Error moving #{old_path} to #{new_path}" # rubocop:disable Gitlab/RailsLogger
end end
end end
......
...@@ -7,7 +7,7 @@ module Gitlab ...@@ -7,7 +7,7 @@ module Gitlab
def self.delivering_email(message) def self.delivering_email(message)
message.perform_deliveries = false message.perform_deliveries = false
Rails.logger.info "Emails disabled! Interceptor prevented sending mail #{message.subject}" Rails.logger.info "Emails disabled! Interceptor prevented sending mail #{message.subject}" # rubocop:disable Gitlab/RailsLogger
end end
end end
end end
......
...@@ -59,7 +59,7 @@ module Gitlab ...@@ -59,7 +59,7 @@ module Gitlab
begin begin
CharlockHolmes::Converter.convert(message, detect[:encoding], 'UTF-8') CharlockHolmes::Converter.convert(message, detect[:encoding], 'UTF-8')
rescue ArgumentError => e rescue ArgumentError => e
Rails.logger.warn("Ignoring error converting #{detect[:encoding]} into UTF8: #{e.message}") Rails.logger.warn("Ignoring error converting #{detect[:encoding]} into UTF8: #{e.message}") # rubocop:disable Gitlab/RailsLogger
'' ''
end end
......
...@@ -936,7 +936,7 @@ module Gitlab ...@@ -936,7 +936,7 @@ module Gitlab
gitaly_repository_client.cleanup if exists? gitaly_repository_client.cleanup if exists?
end end
rescue Gitlab::Git::CommandError => e # Don't fail if we can't cleanup rescue Gitlab::Git::CommandError => e # Don't fail if we can't cleanup
Rails.logger.error("Unable to clean repository on storage #{storage} with relative path #{relative_path}: #{e.message}") Rails.logger.error("Unable to clean repository on storage #{storage} with relative path #{relative_path}: #{e.message}") # rubocop:disable Gitlab/RailsLogger
Gitlab::Metrics.counter( Gitlab::Metrics.counter(
:failed_repository_cleanup_total, :failed_repository_cleanup_total,
'Number of failed repository cleanup events' 'Number of failed repository cleanup events'
......
...@@ -67,7 +67,7 @@ module Gitlab ...@@ -67,7 +67,7 @@ module Gitlab
File.read(cert_file).scan(PEM_REGEX).map do |cert| File.read(cert_file).scan(PEM_REGEX).map do |cert|
OpenSSL::X509::Certificate.new(cert).to_pem OpenSSL::X509::Certificate.new(cert).to_pem
rescue OpenSSL::OpenSSLError => e rescue OpenSSL::OpenSSLError => e
Rails.logger.error "Could not load certificate #{cert_file} #{e}" Rails.logger.error "Could not load certificate #{cert_file} #{e}" # rubocop:disable Gitlab/RailsLogger
Gitlab::Sentry.track_exception(e, extra: { cert_file: cert_file }) Gitlab::Sentry.track_exception(e, extra: { cert_file: cert_file })
nil nil
end.compact end.compact
......
...@@ -29,7 +29,7 @@ module Gitlab ...@@ -29,7 +29,7 @@ module Gitlab
yield object yield object
end end
rescue StandardError => e rescue StandardError => e
Rails.logger.error("The Lfs import process failed. #{e.message}") Rails.logger.error("The Lfs import process failed. #{e.message}") # rubocop:disable Gitlab/RailsLogger
end end
end end
end end
......
...@@ -40,7 +40,7 @@ module Gitlab ...@@ -40,7 +40,7 @@ module Gitlab
pname = project.path_with_namespace pname = project.path_with_namespace
Rails.logger Rails.logger # rubocop:disable Gitlab/RailsLogger
.info("GitHub importer finished updating repository for #{pname}") .info("GitHub importer finished updating repository for #{pname}")
repository_updates_counter.increment repository_updates_counter.increment
......
...@@ -62,6 +62,7 @@ module Gitlab ...@@ -62,6 +62,7 @@ module Gitlab
# Flag a project to be migrated to Hashed Storage # Flag a project to be migrated to Hashed Storage
# #
# @param [Project] project that will be migrated # @param [Project] project that will be migrated
# rubocop:disable Gitlab/RailsLogger
def migrate(project) def migrate(project)
Rails.logger.info "Starting storage migration of #{project.full_path} (ID=#{project.id})..." Rails.logger.info "Starting storage migration of #{project.full_path} (ID=#{project.id})..."
...@@ -69,10 +70,12 @@ module Gitlab ...@@ -69,10 +70,12 @@ module Gitlab
rescue => err rescue => err
Rails.logger.error("#{err.message} migrating storage of #{project.full_path} (ID=#{project.id}), trace - #{err.backtrace}") Rails.logger.error("#{err.message} migrating storage of #{project.full_path} (ID=#{project.id}), trace - #{err.backtrace}")
end end
# rubocop:enable Gitlab/RailsLogger
# Flag a project to be rolled-back to Legacy Storage # Flag a project to be rolled-back to Legacy Storage
# #
# @param [Project] project that will be rolled-back # @param [Project] project that will be rolled-back
# rubocop:disable Gitlab/RailsLogger
def rollback(project) def rollback(project)
Rails.logger.info "Starting storage rollback of #{project.full_path} (ID=#{project.id})..." Rails.logger.info "Starting storage rollback of #{project.full_path} (ID=#{project.id})..."
...@@ -80,6 +83,7 @@ module Gitlab ...@@ -80,6 +83,7 @@ module Gitlab
rescue => err rescue => err
Rails.logger.error("#{err.message} rolling-back storage of #{project.full_path} (ID=#{project.id}), trace - #{err.backtrace}") Rails.logger.error("#{err.message} rolling-back storage of #{project.full_path} (ID=#{project.id}), trace - #{err.backtrace}")
end end
# rubocop:enable Gitlab/RailsLogger
# Returns whether we have any pending storage migration # Returns whether we have any pending storage migration
# #
......
...@@ -18,7 +18,7 @@ module Gitlab ...@@ -18,7 +18,7 @@ module Gitlab
def metrics def metrics
result, elapsed = with_timing(&method(:check)) result, elapsed = with_timing(&method(:check))
Rails.logger.error("#{human_name} check returned unexpected result #{result}") unless successful?(result) Rails.logger.error("#{human_name} check returned unexpected result #{result}") unless successful?(result) # rubocop:disable Gitlab/RailsLogger
[ [
metric("#{metric_prefix}_timeout", result.is_a?(Timeout::Error) ? 1 : 0), metric("#{metric_prefix}_timeout", result.is_a?(Timeout::Error) ? 1 : 0),
metric("#{metric_prefix}_success", successful?(result) ? 1 : 0), metric("#{metric_prefix}_success", successful?(result) ? 1 : 0),
......
...@@ -43,7 +43,7 @@ module Gitlab ...@@ -43,7 +43,7 @@ module Gitlab
target_ref = Gitlab::Git::BRANCH_REF_PREFIX + @merge_request.source_branch target_ref = Gitlab::Git::BRANCH_REF_PREFIX + @merge_request.source_branch
unless @project.repository.fetch_source_branch!(@project.repository, @diff_head_sha, target_ref) unless @project.repository.fetch_source_branch!(@project.repository, @diff_head_sha, target_ref)
Rails.logger.warn("Import/Export warning: Failed to create #{target_ref} for MR: #{@merge_request.iid}") Rails.logger.warn("Import/Export warning: Failed to create #{target_ref} for MR: #{@merge_request.iid}") # rubocop:disable Gitlab/RailsLogger
end end
end end
......
...@@ -20,7 +20,7 @@ module Gitlab ...@@ -20,7 +20,7 @@ module Gitlab
json = IO.read(@path) json = IO.read(@path)
@tree_hash = ActiveSupport::JSON.decode(json) @tree_hash = ActiveSupport::JSON.decode(json)
rescue => e rescue => e
Rails.logger.error("Import/Export error: #{e.message}") Rails.logger.error("Import/Export error: #{e.message}") # rubocop:disable Gitlab/RailsLogger
raise Gitlab::ImportExport::Error.new('Incorrect JSON format') raise Gitlab::ImportExport::Error.new('Incorrect JSON format')
end end
......
...@@ -18,7 +18,7 @@ module Gitlab ...@@ -18,7 +18,7 @@ module Gitlab
if compress_and_save if compress_and_save
remove_export_path remove_export_path
Rails.logger.info("Saved project export #{archive_file}") Rails.logger.info("Saved project export #{archive_file}") # rubocop:disable Gitlab/RailsLogger
save_upload save_upload
else else
......
...@@ -36,7 +36,7 @@ module Gitlab ...@@ -36,7 +36,7 @@ module Gitlab
def different_version?(version) def different_version?(version)
Gem::Version.new(version) != Gem::Version.new(Gitlab::ImportExport.version) Gem::Version.new(version) != Gem::Version.new(Gitlab::ImportExport.version)
rescue => e rescue => e
Rails.logger.error("Import/Export error: #{e.message}") Rails.logger.error("Import/Export error: #{e.message}") # rubocop:disable Gitlab/RailsLogger
raise Gitlab::ImportExport::Error.new('Incorrect VERSION format') raise Gitlab::ImportExport::Error.new('Incorrect VERSION format')
end end
end end
......
...@@ -19,7 +19,7 @@ module Gitlab ...@@ -19,7 +19,7 @@ module Gitlab
def safe_sample def safe_sample
sample sample
rescue => e rescue => e
Rails.logger.warn("#{self.class}: #{e}, stopping") Rails.logger.warn("#{self.class}: #{e}, stopping") # rubocop:disable Gitlab/RailsLogger
stop stop
end end
......
...@@ -43,7 +43,7 @@ module Gitlab ...@@ -43,7 +43,7 @@ module Gitlab
def puma_stats def puma_stats
Puma.stats Puma.stats
rescue NoMethodError rescue NoMethodError
Rails.logger.info "PumaSampler: stats are not available yet, waiting for Puma to boot" Rails.logger.info "PumaSampler: stats are not available yet, waiting for Puma to boot" # rubocop:disable Gitlab/RailsLogger
nil nil
end end
......
...@@ -25,7 +25,7 @@ module Gitlab ...@@ -25,7 +25,7 @@ module Gitlab
def call def call
if disallowed_request? && Gitlab::Database.read_only? if disallowed_request? && Gitlab::Database.read_only?
Rails.logger.debug('GitLab ReadOnly: preventing possible non read-only operation') Rails.logger.debug('GitLab ReadOnly: preventing possible non read-only operation') # rubocop:disable Gitlab/RailsLogger
if json_request? if json_request?
return [403, { 'Content-Type' => APPLICATION_JSON }, [{ 'message' => ERROR_MESSAGE }.to_json]] return [403, { 'Content-Type' => APPLICATION_JSON }, [{ 'message' => ERROR_MESSAGE }.to_json]]
......
...@@ -110,7 +110,7 @@ module Gitlab ...@@ -110,7 +110,7 @@ module Gitlab
end end
rescue Errno::EACCES => ex rescue Errno::EACCES => ex
# TODO stop rescuing this exception in GitLab 11.0 https://gitlab.com/gitlab-org/gitlab-ce/issues/45672 # TODO stop rescuing this exception in GitLab 11.0 https://gitlab.com/gitlab-org/gitlab-ce/issues/45672
Rails.logger.error("Could not write pages admin token file: #{ex}") Rails.logger.error("Could not write pages admin token file: #{ex}") # rubocop:disable Gitlab/RailsLogger
rescue Errno::EEXIST rescue Errno::EEXIST
# Another process wrote the token file concurrently with us. Use their token, not ours. # Another process wrote the token file concurrently with us. Use their token, not ours.
end end
......
...@@ -22,6 +22,7 @@ module Gitlab ...@@ -22,6 +22,7 @@ module Gitlab
end end
end end
# rubocop:disable Gitlab/RailsLogger
def decrease def decrease
redis_cmd do |redis| redis_cmd do |redis|
current_value = redis.decr(key) current_value = redis.decr(key)
...@@ -32,6 +33,7 @@ module Gitlab ...@@ -32,6 +33,7 @@ module Gitlab
end end
end end
end end
# rubocop:enable Gitlab/RailsLogger
private private
...@@ -39,7 +41,7 @@ module Gitlab ...@@ -39,7 +41,7 @@ module Gitlab
Gitlab::Redis::SharedState.with { |redis| yield(redis) } Gitlab::Redis::SharedState.with { |redis| yield(redis) }
true true
rescue => e rescue => e
Rails.logger.warn("GitLab: An unexpected error occurred in writing to Redis: #{e}") Rails.logger.warn("GitLab: An unexpected error occurred in writing to Redis: #{e}") # rubocop:disable Gitlab/RailsLogger
false false
end end
end end
......
...@@ -145,7 +145,7 @@ module Gitlab ...@@ -145,7 +145,7 @@ module Gitlab
def expire_method_caches(methods) def expire_method_caches(methods)
methods.each do |name| methods.each do |name|
unless cached_methods.include?(name.to_sym) unless cached_methods.include?(name.to_sym)
Rails.logger.error "Requested to expire non-existent method '#{name}' for Repository" Rails.logger.error "Requested to expire non-existent method '#{name}' for Repository" # rubocop:disable Gitlab/RailsLogger
next next
end end
......
...@@ -48,7 +48,7 @@ module Gitlab ...@@ -48,7 +48,7 @@ module Gitlab
attr_reader :logger attr_reader :logger
def initialize(logger: Rails.logger) def initialize(logger: Rails.logger) # rubocop:disable Gitlab/RailsLogger
@logger = logger @logger = logger
end end
......
...@@ -78,7 +78,7 @@ module Gitlab ...@@ -78,7 +78,7 @@ module Gitlab
true true
rescue => err # Once the Rugged codes gets removes this can be improved rescue => err # Once the Rugged codes gets removes this can be improved
Rails.logger.error("Failed to add repository #{storage}/#{disk_path}: #{err}") Rails.logger.error("Failed to add repository #{storage}/#{disk_path}: #{err}") # rubocop:disable Gitlab/RailsLogger
false false
end end
...@@ -153,7 +153,7 @@ module Gitlab ...@@ -153,7 +153,7 @@ module Gitlab
!!rm_directory(storage, "#{name}.git") !!rm_directory(storage, "#{name}.git")
rescue ArgumentError => e rescue ArgumentError => e
Rails.logger.warn("Repository does not exist: #{e} at: #{name}.git") Rails.logger.warn("Repository does not exist: #{e} at: #{name}.git") # rubocop:disable Gitlab/RailsLogger
false false
end end
...@@ -238,7 +238,7 @@ module Gitlab ...@@ -238,7 +238,7 @@ module Gitlab
def remove_keys_not_found_in_db def remove_keys_not_found_in_db
return unless self.authorized_keys_enabled? return unless self.authorized_keys_enabled?
Rails.logger.info("Removing keys not found in DB") Rails.logger.info("Removing keys not found in DB") # rubocop:disable Gitlab/RailsLogger
batch_read_key_ids do |ids_in_file| batch_read_key_ids do |ids_in_file|
ids_in_file.uniq! ids_in_file.uniq!
...@@ -248,7 +248,7 @@ module Gitlab ...@@ -248,7 +248,7 @@ module Gitlab
ids_to_remove = ids_in_file - keys_in_db.pluck(:id) ids_to_remove = ids_in_file - keys_in_db.pluck(:id)
ids_to_remove.each do |id| ids_to_remove.each do |id|
Rails.logger.info("Removing key-#{id} not found in DB") Rails.logger.info("Removing key-#{id} not found in DB") # rubocop:disable Gitlab/RailsLogger
remove_key("key-#{id}") remove_key("key-#{id}")
end end
end end
...@@ -368,7 +368,7 @@ module Gitlab ...@@ -368,7 +368,7 @@ module Gitlab
return true if status.zero? return true if status.zero?
Rails.logger.error("gitlab-shell failed with error #{status}: #{output}") Rails.logger.error("gitlab-shell failed with error #{status}: #{output}") # rubocop:disable Gitlab/RailsLogger
false false
end end
...@@ -465,7 +465,7 @@ module Gitlab ...@@ -465,7 +465,7 @@ module Gitlab
end end
def logger def logger
Rails.logger Rails.logger # rubocop:disable Gitlab/RailsLogger
end end
end end
end end
......
...@@ -41,7 +41,7 @@ module Mattermost ...@@ -41,7 +41,7 @@ module Mattermost
begin begin
yield self yield self
rescue Errno::ECONNREFUSED => e rescue Errno::ECONNREFUSED => e
Rails.logger.error(e.message + "\n" + e.backtrace.join("\n")) Rails.logger.error(e.message + "\n" + e.backtrace.join("\n")) # rubocop:disable Gitlab/RailsLogger
raise Mattermost::NoSessionError raise Mattermost::NoSessionError
ensure ensure
destroy destroy
......
...@@ -20,7 +20,7 @@ module MicrosoftTeams ...@@ -20,7 +20,7 @@ module MicrosoftTeams
result = true if response result = true if response
rescue Gitlab::HTTP::Error, StandardError => error rescue Gitlab::HTTP::Error, StandardError => error
Rails.logger.info("#{self.class.name}: Error while connecting to #{@webhook}: #{error.message}") Rails.logger.info("#{self.class.name}: Error while connecting to #{@webhook}: #{error.message}") # rubocop:disable Gitlab/RailsLogger
end end
result result
......
...@@ -32,6 +32,7 @@ module RspecFlaky ...@@ -32,6 +32,7 @@ module RspecFlaky
flaky_examples[current_example.uid] = flaky_example flaky_examples[current_example.uid] = flaky_example
end end
# rubocop:disable Gitlab/RailsLogger
def dump_summary(_) def dump_summary(_)
RspecFlaky::Report.new(flaky_examples).write(RspecFlaky::Config.flaky_examples_report_path) RspecFlaky::Report.new(flaky_examples).write(RspecFlaky::Config.flaky_examples_report_path)
# write_report_file(flaky_examples, RspecFlaky::Config.flaky_examples_report_path) # write_report_file(flaky_examples, RspecFlaky::Config.flaky_examples_report_path)
...@@ -45,6 +46,7 @@ module RspecFlaky ...@@ -45,6 +46,7 @@ module RspecFlaky
# write_report_file(new_flaky_examples, RspecFlaky::Config.new_flaky_examples_report_path) # write_report_file(new_flaky_examples, RspecFlaky::Config.new_flaky_examples_report_path)
end end
end end
# rubocop:enable Gitlab/RailsLogger
private private
......
...@@ -147,6 +147,7 @@ namespace :gitlab do ...@@ -147,6 +147,7 @@ namespace :gitlab do
ENV['NICENESS'].presence ENV['NICENESS'].presence
end end
# rubocop:disable Gitlab/RailsLogger
def logger def logger
return @logger if defined?(@logger) return @logger if defined?(@logger)
...@@ -159,5 +160,6 @@ namespace :gitlab do ...@@ -159,5 +160,6 @@ namespace :gitlab do
Rails.logger Rails.logger
end end
end end
# rubocop:enable Gitlab/RailsLogger
end end
end end
# frozen_string_literal: true
require_relative '../../code_reuse_helpers'
module RuboCop
module Cop
module Gitlab
class RailsLogger < ::RuboCop::Cop::Cop
include CodeReuseHelpers
# This cop checks for the Rails.logger in the codebase
#
# @example
#
# # bad
# Rails.logger.error("Project #{project.full_path} could not be saved")
#
# # good
# Gitlab::AppLogger.error("Project %{project_path} could not be saved" % { project_path: project.full_path })
MSG = 'Use a structured JSON logger instead of `Rails.logger`. ' \
'https://docs.gitlab.com/ee/development/logging.html'.freeze
def_node_matcher :rails_logger?, <<~PATTERN
(send (const nil? :Rails) :logger ... )
PATTERN
WHITELISTED_DIRECTORIES = %w[
spec
].freeze
def on_send(node)
return if in_whitelisted_directory?(node)
return unless rails_logger?(node)
add_offense(node, location: :expression)
end
def in_whitelisted_directory?(node)
path = file_path_for_node(node)
WHITELISTED_DIRECTORIES.any? do |directory|
path.start_with?(
File.join(rails_root, directory),
File.join(rails_root, 'ee', directory)
)
end
end
end
end
end
end
...@@ -3,6 +3,7 @@ require_relative 'cop/gitlab/predicate_memoization' ...@@ -3,6 +3,7 @@ require_relative 'cop/gitlab/predicate_memoization'
require_relative 'cop/gitlab/httparty' require_relative 'cop/gitlab/httparty'
require_relative 'cop/gitlab/finder_with_find_by' require_relative 'cop/gitlab/finder_with_find_by'
require_relative 'cop/gitlab/union' require_relative 'cop/gitlab/union'
require_relative 'cop/gitlab/rails_logger'
require_relative 'cop/include_action_view_context' require_relative 'cop/include_action_view_context'
require_relative 'cop/include_sidekiq_worker' require_relative 'cop/include_sidekiq_worker'
require_relative 'cop/safe_params' require_relative 'cop/safe_params'
......
# frozen_string_literal: true
require 'spec_helper'
require 'rubocop'
require 'rubocop/rspec/support'
require_relative '../../../../rubocop/cop/gitlab/rails_logger'
describe RuboCop::Cop::Gitlab::RailsLogger do
include CopHelper
subject(:cop) { described_class.new }
it 'flags the use of Rails.logger.error with a constant receiver' do
inspect_source("Rails.logger.error('some error')")
expect(cop.offenses.size).to eq(1)
end
it 'flags the use of Rails.logger.info with a constant receiver' do
inspect_source("Rails.logger.info('some info')")
expect(cop.offenses.size).to eq(1)
end
it 'flags the use of Rails.logger.warn with a constant receiver' do
inspect_source("Rails.logger.warn('some warning')")
expect(cop.offenses.size).to eq(1)
end
it 'does not flag the use of Rails.logger with a constant that is not Rails' do
inspect_source("AppLogger.error('some error')")
expect(cop.offenses.size).to eq(0)
end
it 'does not flag the use of logger with a send receiver' do
inspect_source("file_logger.info('important info')")
expect(cop.offenses.size).to eq(0)
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment