2018-10-22 07:00:50 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2012-05-26 10:37:49 +00:00
|
|
|
module Gitlab
|
2012-07-17 05:23:16 +00:00
|
|
|
class Logger < ::Logger
|
2014-10-04 15:09:06 +00:00
|
|
|
def self.file_name
|
|
|
|
file_name_noext + '.log'
|
|
|
|
end
|
|
|
|
|
2018-07-13 21:52:32 +00:00
|
|
|
def self.debug(message)
|
|
|
|
build.debug(message)
|
|
|
|
end
|
|
|
|
|
2012-05-21 20:17:41 +00:00
|
|
|
def self.error(message)
|
2012-07-17 05:23:16 +00:00
|
|
|
build.error(message)
|
|
|
|
end
|
|
|
|
|
2018-07-13 21:52:32 +00:00
|
|
|
def self.warn(message)
|
|
|
|
build.warn(message)
|
|
|
|
end
|
|
|
|
|
2012-07-17 05:23:16 +00:00
|
|
|
def self.info(message)
|
|
|
|
build.info(message)
|
2012-05-21 20:17:41 +00:00
|
|
|
end
|
2012-07-05 18:59:37 +00:00
|
|
|
|
|
|
|
def self.read_latest
|
2017-10-19 06:41:55 +00:00
|
|
|
path = self.full_log_path
|
2012-07-17 05:23:16 +00:00
|
|
|
|
2017-08-22 21:09:45 +00:00
|
|
|
return [] unless File.readable?(path)
|
|
|
|
|
2014-02-25 11:12:09 +00:00
|
|
|
tail_output, _ = Gitlab::Popen.popen(%W(tail -n 2000 #{path}))
|
|
|
|
tail_output.split("\n")
|
2012-12-19 04:14:05 +00:00
|
|
|
end
|
|
|
|
|
2012-07-17 05:23:16 +00:00
|
|
|
def self.build
|
2020-09-10 12:08:54 +00:00
|
|
|
Gitlab::SafeRequestStore[self.cache_key] ||=
|
|
|
|
new(self.full_log_path, level: ::Logger::DEBUG)
|
2017-10-19 06:41:55 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def self.full_log_path
|
|
|
|
Rails.root.join("log", file_name)
|
|
|
|
end
|
|
|
|
|
|
|
|
def self.cache_key
|
2019-08-31 19:25:25 +00:00
|
|
|
'logger:' + self.full_log_path.to_s
|
2012-07-17 05:23:16 +00:00
|
|
|
end
|
2012-05-21 20:17:41 +00:00
|
|
|
end
|
|
|
|
end
|