class Loga::Railtie::InitializeLogger
This service class initializes Loga
with user options, framework smart options and update Rails
logger with Loga
Attributes
app[R]
Public Class Methods
call(app)
click to toggle source
# File lib/loga/railtie.rb, line 11 def self.call(app) new(app).call end
new(app)
click to toggle source
# File lib/loga/railtie.rb, line 15 def initialize(app) @app = app end
Public Instance Methods
call()
click to toggle source
# File lib/loga/railtie.rb, line 19 def call validate_user_options change_tempfile_as_json Loga.configure(user_options, rails_options) app.config.colorize_logging = false if Loga.configuration.structured? app.config.logger = Loga.logger end
Private Instance Methods
change_tempfile_as_json()
click to toggle source
Fixes encoding error when converting uploaded file to JSON
# File lib/loga/railtie.rb, line 70 def change_tempfile_as_json require 'loga/ext/core/tempfile' end
device_options()
click to toggle source
# File lib/loga/railtie.rb, line 40 def device_options Rails.env.test? ? { device: File.open('log/test.log', 'a') } : {} end
format()
click to toggle source
# File lib/loga/railtie.rb, line 48 def format Rails.env.production? ? :gelf : :simple end
rails_options()
click to toggle source
# File lib/loga/railtie.rb, line 31 def rails_options { format: format, level: app.config.log_level, sync: sync, tags: app.config.log_tags || [], }.merge(device_options) end
sync()
click to toggle source
# File lib/loga/railtie.rb, line 52 def sync Rails::VERSION::MAJOR > 3 ? app.config.autoflush_log : true end
user_options()
click to toggle source
# File lib/loga/railtie.rb, line 44 def user_options app.config.loga end
validate_user_options()
click to toggle source
# File lib/loga/railtie.rb, line 56 def validate_user_options if user_options[:tags].present? raise Loga::ConfigurationError, 'Configure tags with Rails config.log_tags' elsif user_options[:level].present? raise Loga::ConfigurationError, 'Configure level with Rails config.log_level' elsif user_options[:filter_parameters].present? raise Loga::ConfigurationError, 'Configure filter_parameters with Rails config.filter_parameters' end end