@@ -329,13 +329,19 @@ def process_raw_log_field(self, field: str, field_type: str) -> Optional[str]:
329329 if raw_log_field_pattern := self .raw_log_field_pattern_map .get (field_type ):
330330 return raw_log_field_pattern .pattern .format (field = field )
331331
332- def process_raw_log_field_prefix (self , field : str , source_mapping : SourceMapping ) -> Optional [str ]:
333- if self .raw_log_field_pattern_map is None :
334- return
332+ def process_raw_log_field_prefix (self , field : str , source_mapping : SourceMapping ) -> Optional [list ]:
333+ if isinstance (field , list ):
334+ list_of_prefix = []
335+ for f in field :
336+ if prepared_prefix := self .process_raw_log_field_prefix (field = f , source_mapping = source_mapping ):
337+ list_of_prefix .extend (prepared_prefix )
338+ return list_of_prefix
335339 if raw_log_field_type := source_mapping .raw_log_fields .get (field ):
336- return self .process_raw_log_field (field = field , field_type = raw_log_field_type )
340+ return [ self .process_raw_log_field (field = field , field_type = raw_log_field_type )]
337341
338342 def generate_raw_log_fields (self , fields : list [Field ], source_mapping : SourceMapping ) -> str :
343+ if self .raw_log_field_pattern_map is None :
344+ return ""
339345 defined_raw_log_fields = []
340346 for field in fields :
341347 mapped_field = source_mapping .fields_mapping .get_platform_field_name (generic_field_name = field .source_name )
@@ -347,7 +353,7 @@ def generate_raw_log_fields(self, fields: list[Field], source_mapping: SourceMap
347353 if not mapped_field and self .is_strict_mapping :
348354 raise StrictPlatformException (field_name = field .source_name , platform_name = self .details .name )
349355 if field_prefix := self .process_raw_log_field_prefix (field = mapped_field , source_mapping = source_mapping ):
350- defined_raw_log_fields .append (field_prefix )
356+ defined_raw_log_fields .extend (field_prefix )
351357 return "\n " .join (set (defined_raw_log_fields ))
352358
353359 def _generate_from_tokenized_query_container (self , query_container : TokenizedQueryContainer ) -> str :
0 commit comments