summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models/project_services/asana_service.rb2
-rw-r--r--app/models/project_services/irker_service.rb2
-rw-r--r--app/models/project_services/issue_tracker_service.rb2
-rw-r--r--app/models/project_services/jira_service.rb6
-rw-r--r--app/models/service.rb6
-rw-r--r--lib/gitlab/project_service_logger.rb11
6 files changed, 23 insertions, 6 deletions
diff --git a/app/models/project_services/asana_service.rb b/app/models/project_services/asana_service.rb
index 35c19049c04..0d09194044b 100644
--- a/app/models/project_services/asana_service.rb
+++ b/app/models/project_services/asana_service.rb
@@ -101,7 +101,7 @@ http://app.asana.com/-/account_api'
task.update(completed: true)
end
rescue => e
- Rails.logger.error(e.message)
+ log_message(level: :error, message: e.message)
next
end
end
diff --git a/app/models/project_services/irker_service.rb b/app/models/project_services/irker_service.rb
index a783a314071..dc0acfd3f52 100644
--- a/app/models/project_services/irker_service.rb
+++ b/app/models/project_services/irker_service.rb
@@ -104,7 +104,7 @@ class IrkerService < Service
new_recipient = URI.join(default_irc_uri, '/', recipient).to_s
uri = consider_uri(URI.parse(new_recipient))
rescue
- Rails.logger.error("Unable to create a valid URL from #{default_irc_uri} and #{recipient}")
+ log_message(level: :error, message: "Unable to create a valid URL from #{default_irc_uri} and #{recipient}")
end
end
diff --git a/app/models/project_services/issue_tracker_service.rb b/app/models/project_services/issue_tracker_service.rb
index c7520d766a8..143d4bdbd9f 100644
--- a/app/models/project_services/issue_tracker_service.rb
+++ b/app/models/project_services/issue_tracker_service.rb
@@ -88,7 +88,7 @@ class IssueTrackerService < Service
rescue Gitlab::HTTP::Error, Timeout::Error, SocketError, Errno::ECONNRESET, Errno::ECONNREFUSED, OpenSSL::SSL::SSLError => error
message = "#{self.type} had an error when trying to connect to #{self.project_url}: #{error.message}"
end
- Rails.logger.info(message)
+ log_message(message: message)
result
end
diff --git a/app/models/project_services/jira_service.rb b/app/models/project_services/jira_service.rb
index cc98b3f5a41..11fc0a96f23 100644
--- a/app/models/project_services/jira_service.rb
+++ b/app/models/project_services/jira_service.rb
@@ -205,7 +205,7 @@ class JiraService < IssueTrackerService
begin
issue.transitions.build.save!(transition: { id: transition_id })
rescue => error
- Rails.logger.info "#{self.class.name} Issue Transition failed message ERROR: #{client_url} - #{error.message}"
+ log_message(level: :error, message: "#{self.class.name} Issue Transition failed message: #{client_url} - #{error.message}")
return false
end
end
@@ -258,7 +258,7 @@ class JiraService < IssueTrackerService
end
result_message = "#{self.class.name} SUCCESS: Successfully posted to #{client_url}."
- Rails.logger.info(result_message)
+ log_message(message: result_message)
result_message
end
end
@@ -317,7 +317,7 @@ class JiraService < IssueTrackerService
rescue Timeout::Error, Errno::EINVAL, Errno::ECONNRESET, Errno::ECONNREFUSED, URI::InvalidURIError, JIRA::HTTPError, OpenSSL::SSL::SSLError => e
@error = e.message
- Rails.logger.info "#{self.class.name} Send message ERROR: #{client_url} - #{@error}"
+ log_message(level: :error, message: "Send message: #{client_url} - #{@error}")
nil
end
diff --git a/app/models/service.rb b/app/models/service.rb
index 140058771ee..0584433bea8 100644
--- a/app/models/service.rb
+++ b/app/models/service.rb
@@ -302,6 +302,12 @@ class Service < ActiveRecord::Base
find_by(template: true)
end
+ def log_message(level: :info, message:)
+ message.prepend("#{self.class.name}: ")
+
+ Gitlab::ProjectServiceLogger.public_send(level, message)
+ end
+
private
def cache_project_has_external_issue_tracker
diff --git a/lib/gitlab/project_service_logger.rb b/lib/gitlab/project_service_logger.rb
new file mode 100644
index 00000000000..4b27535b5e1
--- /dev/null
+++ b/lib/gitlab/project_service_logger.rb
@@ -0,0 +1,11 @@
+module Gitlab
+ class ProjectServiceLogger < Gitlab::Logger
+ def self.file_name_noext
+ 'project_services'
+ end
+
+ def format_message(severity, timestamp, progname, msg)
+ "#{timestamp.iso8601} -> #{severity} -> #{msg}\n"
+ end
+ end
+end