class Sentry::Breadcrumb
def initialize(category: nil, data: nil, message: nil, timestamp: nil, level: nil, type: nil)
-
type(String, nil) -- -
level(String, nil) -- -
timestamp(Time, Integer, nil) -- -
message(String, nil) -- -
data(Hash, nil) -- -
category(String, nil) --
def initialize(category: nil, data: nil, message: nil, timestamp: nil, level: nil, type: nil) @category = category @data = data || {} @timestamp = timestamp || Sentry.utc_now.to_i @type = type self.message = message self.level = level end
def level=(level) # needed to meet the Sentry spec
-
(void)-
Parameters:
-
level(String) --
def level=(level) # needed to meet the Sentry spec @level = level == "warn" ? "warning" : level end
def message=(message)
-
(void)-
Parameters:
-
message(String) --
def message=(message) @message = message && Utils::EncodingHelper.valid_utf_8?(message) ? message.byteslice(0..Event::MAX_MESSAGE_SIZE_IN_BYTES) : "" end
def serialized_data
def serialized_data begin ::JSON.parse(::JSON.generate(@data, max_nesting: MAX_NESTING)) rescue Exception => e Sentry.sdk_logger.debug(LOGGER_PROGNAME) do <<~MSG t serialize breadcrumb data because of error: #{e} : #{@data} MSG end { error: DATA_SERIALIZATION_ERROR_MESSAGE } end end
def to_h
-
(Hash)-
def to_h { category: @category, data: serialized_data, level: @level, message: @message, timestamp: @timestamp, type: @type } end