1919logger = get_logger (__name__ )
2020
2121
22+ def _sanitize_log_file (log_obj ):
23+ # Convert log object to dict
24+ result = log_obj .as_dict ()
25+
26+ # Flatten properties from nested structure and reshape to legacy format
27+ if 'properties' in result and isinstance (result ['properties' ], dict ):
28+ properties = result .pop ('properties' )
29+ # Extract type from properties and rename to typePropertiesType
30+ if 'createdTime' in properties :
31+ del properties ['createdTime' ] # Remove createdTime as it's not in the original SDK model
32+ if 'type' in properties :
33+ result ['typePropertiesType' ] = properties .pop ('type' )
34+ # Merge remaining properties into root level
35+ result .update (properties )
36+
37+ # Add systemData if not present (for backward compatibility)
38+ if 'systemData' not in result :
39+ result ['systemData' ] = None
40+
41+ return result
42+
43+
2244def flexible_server_download_log_files (client , resource_group_name , server_name , file_name ):
2345 validate_resource_group (resource_group_name )
2446
@@ -50,8 +72,7 @@ def flexible_server_list_log_files_with_filter(client, resource_group_name, serv
5072 if max_file_size is not None and f .size_in_kb > max_file_size :
5173 continue
5274
53- del f .created_time
54- files .append (f )
75+ files .append (_sanitize_log_file (f ))
5576
5677 return files
5778
@@ -75,8 +96,7 @@ def flexible_server_log_list(client, resource_group_name, server_name, filename_
7596 if max_file_size is not None and f .size_in_kb > max_file_size :
7697 continue
7798
78- del f .created_time
79- files .append (f )
99+ files .append (_sanitize_log_file (f ))
80100
81101 return files
82102
0 commit comments