2017-10-27 17:54:45 +08:00
|
|
|
if (Rails.env.production? && SiteSetting.logging_provider == 'lograge') || ENV["ENABLE_LOGRAGE"]
|
2017-10-27 22:54:50 +08:00
|
|
|
require 'lograge'
|
|
|
|
|
2017-11-15 09:02:34 +08:00
|
|
|
if Rails.configuration.multisite
|
|
|
|
Rails.logger.formatter = ActiveSupport::Logger::SimpleFormatter.new
|
|
|
|
end
|
|
|
|
|
2017-10-27 17:54:45 +08:00
|
|
|
Rails.application.configure do
|
|
|
|
config.lograge.enabled = true
|
|
|
|
|
2017-11-02 14:40:18 +08:00
|
|
|
logstash_formatter = ENV["LOGSTASH_FORMATTER"]
|
|
|
|
|
2017-10-27 17:54:45 +08:00
|
|
|
config.lograge.custom_options = lambda do |event|
|
|
|
|
exceptions = %w(controller action format id)
|
2017-10-27 22:54:50 +08:00
|
|
|
|
2017-11-01 08:37:11 +08:00
|
|
|
params = event.payload[:params].except(*exceptions)
|
|
|
|
params[:files].map!(&:headers) if params[:files]
|
|
|
|
|
2017-10-27 23:31:17 +08:00
|
|
|
output = {
|
2017-11-08 15:19:45 +08:00
|
|
|
params: params.to_query,
|
2017-10-28 00:46:16 +08:00
|
|
|
database: RailsMultisite::ConnectionManagement.current_db,
|
2017-10-27 22:54:50 +08:00
|
|
|
}
|
2017-11-02 14:40:18 +08:00
|
|
|
|
|
|
|
output[:time] = event.time unless logstash_formatter
|
|
|
|
output
|
2017-10-27 17:54:45 +08:00
|
|
|
end
|
2017-11-01 08:37:11 +08:00
|
|
|
|
2017-11-02 14:40:18 +08:00
|
|
|
if logstash_formatter
|
2017-11-01 08:37:11 +08:00
|
|
|
config.lograge.formatter = Lograge::Formatters::Logstash.new
|
|
|
|
end
|
2017-10-27 17:54:45 +08:00
|
|
|
end
|
|
|
|
end
|