Use a custom GrapeLogging formatter to get the timestamp
This commit is contained in:
parent
c304dfd4d6
commit
35dec2c3e8
|
@ -5,8 +5,8 @@ module API
|
|||
LOG_FILENAME = Rails.root.join("log", "api_json.log")
|
||||
|
||||
use GrapeLogging::Middleware::RequestLogger,
|
||||
logger: ::Gitlab::ApiLogger.new(LOG_FILENAME),
|
||||
formatter: GrapeLogging::Formatters::Json.new,
|
||||
logger: Logger.new(LOG_FILENAME),
|
||||
formatter: Gitlab::GrapeLogging::Formatters::LogrageWithTimestamp.new,
|
||||
include: [
|
||||
GrapeLogging::Loggers::Response.new,
|
||||
GrapeLogging::Loggers::FilterParameters.new,
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
module Gitlab
|
||||
class ApiLogger < ::Logger
|
||||
def format_message(severity, timestamp, progname, message)
|
||||
super + "\n"
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,19 @@
|
|||
module Gitlab
|
||||
module GrapeLogging
|
||||
module Formatters
|
||||
class LogrageWithTimestamp
|
||||
def call(severity, datetime, _, data)
|
||||
time = data.delete :time
|
||||
attributes = {
|
||||
time: datetime.utc.iso8601(3),
|
||||
severity: severity,
|
||||
duration: time[:total],
|
||||
db: time[:db],
|
||||
view: time[:view]
|
||||
}.merge(data)
|
||||
::Lograge.formatter.call(attributes) + "\n"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue