From 491a945c974aa741bbbc6b08690cc0018f6e05a1 Mon Sep 17 00:00:00 2001 From: Rustam Ibragimov Date: Thu, 15 Aug 2024 11:43:08 +0300 Subject: [PATCH] middleware-autoset --- lib/lamian/config.rb | 10 +++++++++- lib/lamian/engine.rb | 4 +++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/lamian/config.rb b/lib/lamian/config.rb index 695b3e9..1b8e58f 100644 --- a/lib/lamian/config.rb +++ b/lib/lamian/config.rb @@ -8,11 +8,19 @@ module Lamian # max number of most recent log lines to store, defaults to 5000 # @attr raven_log_size_limit [Integer] # size limit when sending lamian log to sentry, defaults to +500_000+ - Config = Struct.new(:formatter, :max_log_lines, :raven_log_size_limit) do + # @attr middleware_autoset [BOolean] + # automatically setup a middleware module during rails initialization process + Config = Struct.new( + :formatter, + :max_log_lines, + :raven_log_size_limit, + :middleware_autoset + ) do def initialize self.formatter = ::Logger::Formatter.new self.max_log_lines = 5000 self.raven_log_size_limit = 500_000 + self.middleware_autoset = true end end end diff --git a/lib/lamian/engine.rb b/lib/lamian/engine.rb index 7121c7f..6e8f79d 100644 --- a/lib/lamian/engine.rb +++ b/lib/lamian/engine.rb @@ -11,7 +11,9 @@ class Engine < ::Rails::Engine initializer "lamian.use_rack_middleware" do |app| # :nocov: - app.config.middleware.unshift(Lamian::Middleware) + if Lamian.config.middleware_autoset + app.config.middleware.unshift(Lamian::Middleware) + end # :nocov: end