@@ -549,36 +549,31 @@ def as_dict(self) -> Mapping[str, Any]:
549
549
@memoize
550
550
def search_message (self ) -> str :
551
551
"""
552
- The internal search_message attribute is only used for search purposes.
552
+ The internal ` search_message` attribute is only used for search purposes.
553
553
It adds a bunch of data from the metadata and the culprit.
554
554
"""
555
555
data = self .data
556
- culprit = self .culprit
556
+ metadata = self .get_event_metadata () or eventtypes .get (
557
+ self .get_event_type ()
558
+ )().get_metadata (self .data )
559
+ search_message_values = set ()
557
560
558
- event_metadata = self . get_event_metadata ( )
561
+ search_message_values . add ( self . culprit or "" )
559
562
560
- if event_metadata is None :
561
- event_metadata = eventtypes . get ( self . get_event_type ())(). get_metadata ( self . data )
562
-
563
- message = ""
563
+ for key , value in metadata . items () :
564
+ if key in SEARCH_MESSAGE_SKIPPED_KEYS or isinstance ( value , ( bool , int , float )):
565
+ continue
566
+ search_message_values . add ( value )
564
567
565
568
if data .get ("logentry" ):
566
- message += data ["logentry" ].get ("formatted" ) or data ["logentry" ].get ("message" ) or ""
567
-
568
- if event_metadata :
569
- for key , value in event_metadata .items ():
570
- if key in SEARCH_MESSAGE_SKIPPED_KEYS or isinstance (value , (bool , int , float )):
571
- continue
569
+ log_message = data ["logentry" ].get ("formatted" ) or data ["logentry" ].get ("message" ) or ""
570
+ search_message_values .add (log_message )
572
571
573
- value_u = force_str (value , errors = "replace" )
574
- if value_u not in message :
575
- message = f"{ message } { value_u } "
576
-
577
- if culprit and culprit not in message :
578
- culprit_u = force_str (culprit , errors = "replace" )
579
- message = f"{ message } { culprit_u } "
572
+ concatenated = " " .join (
573
+ [force_str (value , errors = "replace" ) for value in search_message_values ]
574
+ )
580
575
581
- return cast (str , trim (message .strip (), settings .SENTRY_MAX_MESSAGE_LENGTH ))
576
+ return cast (str , trim (concatenated .strip (), settings .SENTRY_MAX_MESSAGE_LENGTH ))
582
577
583
578
def _get_column_name (self , column : Columns ) -> str :
584
579
# Events are currently populated from the Events dataset
0 commit comments