Я недавно обновил приложение с rails 4 до 5, я изменил некоторые конфигурации промежуточного программного обеспечения, чтобы получить лучшие журналы, это работало нормально в rails 4, но после обновления до rails это сломало мое приложение, вызвало проблемы при отправке SET-COOKIEзаголовок, если я удалю изменения конфигурации, которые я сделал в промежуточном программном обеспечении, приложение работает.
Теперь мне нужен способ, как сделать так, чтобы работа с тегами регистрировалась в rails 5 так же, как это было в моей предыдущей версии приложенияв рельсах 4
Rails 4 configuration changes
config.middleware.delete "ActionDispatch::Cookies"
config.middleware.delete "ActionDispatch::Session::CookieStore"
config.middleware.insert_before Rails::Rack::Logger, ActionDispatch::Cookies
config.middleware.insert_before Rails::Rack::Logger, ActionDispatch::Session::CookieStore
@offline_logging_path = "/upload/offline_logs"
config.log_tags = [
lambda {|req|
if req.path != @offline_logging_path
Time.now.strftime('%Y-%m-%d %H:%M:%S.%L')
end
},
lambda {|req|
if req.path != @offline_logging_path
'ip='+'"'+"#{req.remote_ip}"+'"'
end
},
proc { |req|
if req.path != @offline_logging_path
'id='+'"'+"#{req.session[:real_id]}"+'"'
end
},
lambda {|req|
if req.path != @offline_logging_path
'ua='+'"'+"#{req.user_agent}"+'"'
end
}
]
Rails 5 изменений для помеченных журналов
config.log_tags = [
lambda {|req| Time.now.strftime('%Y-%m-%d %H:%M:%S.%L')},
:remote_ip,
proc { |request| request.session[:real_id] || 'No Token' },
lambda {|req| req.user_agent}
]
но это изменение не работает, request.session [: real_id] не работает, если я удалю промежуточное ПО стойкиизменения