Skip to content

Commit

Permalink
Emit JSON logs instead of key=value logs.
Browse files Browse the repository at this point in the history
  • Loading branch information
zacharydenton authored and aptos-bot committed May 11, 2022
1 parent 6ae769a commit 7cbf624
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 12 deletions.
2 changes: 1 addition & 1 deletion ecosystem/platform/server/Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -458,8 +458,8 @@ DEPENDENCIES
importmap-rails
jbuilder
kaminari
maxmind-geoip2
lograge (~> 0.12.0)
maxmind-geoip2
omniauth
omniauth-discord
omniauth-github
Expand Down
3 changes: 2 additions & 1 deletion ecosystem/platform/server/config/initializers/lograge.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@

Rails.application.configure do
config.lograge.enabled = !Rails.env.development? || ENV.fetch('LOGRAGE_IN_DEVELOPMENT', nil) == 'true'
config.lograge.formatter = Lograge::Formatters::Json.new

config.lograge.custom_options = lambda do |event|
result = {}
result[:time] = Time.now.to_i
result[:time] = Time.now.to_f
result[:request_id] = event.payload[:request_id]
result[:user_id] = event.payload[:user_id] if event.payload[:user_id].present?
result
Expand Down
20 changes: 10 additions & 10 deletions ecosystem/platform/server/lib/logging/logs.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,28 +9,28 @@ module Logs
USER_ID_KEY = 'user_id'

def log(message_or_object, message = nil)
result = []
result << "time=#{Time.now.to_i}"
result << "class=#{self.class}"
result = {}

result[:time] = Time.now.to_f
result[:class] = self.class

request_id = Thread.current.thread_variable_get(REQUEST_ID_KEY)
result << "request_id=#{request_id}"
result[:request_id] = request_id

user_id = Thread.current.thread_variable_get(USER_ID_KEY)
result << "user_id=#{user_id}" if user_id.present?
result[:user_id] = user_id if user_id.present?

if message.nil?
message = message_or_object
else
object = message_or_object
result << "object_class=#{object.class}"
result << "object_id=#{object.id}" if object.respond_to?(:id)
result[:object_class] = object.class
result[:object_id] = object.id if object.respond_to?(:id)
end

message = message.gsub('"', '\"')
result << "message=\"#{message}\""
result[:message] = message

Rails.logger.info(result.join(' '))
Rails.logger.info(result.to_json)
end
end
end

0 comments on commit 7cbf624

Please sign in to comment.