eBooru/app/logical/danbooru_logger.rb
Earlopain 0b47770c49
[Prod] Add Datadog
Let's see how this one works out. Cute logo
2024-04-09 20:16:29 +02:00

23 lines
627 B
Ruby

# frozen_string_literal: true
class DanbooruLogger
def self.log(exception, expected: false)
if expected
Rails.logger.info("#{exception.class}: #{exception.message}")
else
backtrace = Rails.backtrace_cleaner.clean(exception.backtrace).join("\n")
Rails.logger.error("#{exception.class}: #{exception.message}\n#{backtrace}")
end
Datadog::Tracing.active_span&.set_error(exception) unless expected
end
def self.initialize(user)
add_attributes("user.id" => user.id) unless user.is_anonymous?
end
def self.add_attributes(**)
Datadog::Tracing.active_span&.set_tags(**)
end
end