class Applicaster::Logger::Railtie
Constants
- DEFAULT_APP_NAME
- INTERNAL_PARAMS
taken from github.com/rails/rails/blob/master/actionpack/lib/action_controller/log_subscriber.rb
Public Class Methods
uri_logstash_config(uri)
click to toggle source
# File lib/applicaster/logger/railtie.rb, line 38 def self.uri_logstash_config(uri) parsed = ::URI.parse(uri) # params parsing can be removed if this is merged: # https://github.com/dwbutler/logstash-logger/pull/148 params = Hash[CGI.parse(parsed.query.to_s).map {|k,v| [k,v.first]}] { uri: uri, buffer_max_items: Integer(params["buffer_max_items"] || 1000)} end
Public Instance Methods
default_fields()
click to toggle source
# File lib/applicaster/logger/railtie.rb, line 76 def default_fields config = ::Rails.application.config.applicaster_logger { application: config.application_name, environment: Rails.env.to_s }.merge(config.logzio_token ? { token: config.logzio_token } : {}) end
new_logger(facility)
click to toggle source
# File lib/applicaster/logger/railtie.rb, line 65 def new_logger(facility) config = ::Rails.application.config.applicaster_logger LogStashLogger.new(config.logstash_config).tap do |logger| logger.level = config.level logger.formatter = Applicaster::Logger::Formatter.new( default_fields.merge({ facility: facility }) ) end end
setup_logger(app)
click to toggle source
# File lib/applicaster/logger/railtie.rb, line 57 def setup_logger(app) config = app.config.applicaster_logger app.config.logger = new_logger("rails_logger") Applicaster::Logger::Sidekiq.setup(new_logger("sidekiq")) if defined?(::Sidekiq) Sidetiq.logger = new_logger("sidetiq") if defined?(Sidetiq) Delayed::Worker.logger = new_logger("delayed") if defined?(Delayed) end
setup_lograge(app)
click to toggle source
# File lib/applicaster/logger/railtie.rb, line 46 def setup_lograge(app) app.config.lograge.enabled = true app.config.lograge.formatter = Applicaster::Logger::Lograge::Formatter.new app.config.lograge.custom_options = lambda do |event| { params: event.payload[:params].except(*INTERNAL_PARAMS).inspect, custom_params: event.payload[:custom_params], } end end