Class: GraphQL::Client::LogSubscriber
- Inherits:
-
ActiveSupport::LogSubscriber
- Object
- ActiveSupport::LogSubscriber
- GraphQL::Client::LogSubscriber
- Defined in:
- lib/graphql/client/log_subscriber.rb
Overview
Public: Logger for “*.graphql” notification events.
Logs GraphQL queries to Rails logger.
UsersController::ShowQuery QUERY (123ms)
UsersController::UpdateMutation MUTATION (456ms)
Enable GraphQL Client query logging.
require "graphql/client/log_subscriber"
GraphQL::Client::LogSubscriber.attach_to :graphql
Constant Summary collapse
- SHOULD_USE_KWARGS =
private_instance_methods.include?(:mode_from)
Instance Method Summary collapse
Instance Method Details
#error(event) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/graphql/client/log_subscriber.rb', line 38 def error(event) logger.error do name = event.payload[:operation_name].gsub("__", "::") = event.payload[:message] if SHOULD_USE_KWARGS color("#{name} ERROR: #{}", nil, bold: true) else color("#{name} ERROR: #{}", nil, true) end end end |
#query(event) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/graphql/client/log_subscriber.rb', line 21 def query(event) logger.info do name = event.payload[:operation_name].gsub("__", "::") type = event.payload[:operation_type].upcase if SHOULD_USE_KWARGS color("#{name} #{type} (#{event.duration.round(1)}ms)", nil, bold: true) else color("#{name} #{type} (#{event.duration.round(1)}ms)", nil, true) end end logger.debug do event.payload[:document].to_query_string end end |