@@ -316,13 +316,9 @@ def get_messages(
316316 def logs_grep (self , pattern : str , network : str , k8s_timestamps = False ):
317317 compiled_pattern = re .compile (pattern )
318318 matching_logs = []
319-
320319 pods = self .client .list_namespaced_pod (self .namespace )
321-
322- # TODO: Can adapt to only search lnd or bitcoind containers?
323320 relevant_pods = [pod for pod in pods .items if "warnet" in pod .metadata .name ]
324321
325- # Iterate through the filtered pods to fetch and search logs
326322 for pod in relevant_pods :
327323 try :
328324 log_stream = self .client .read_namespaced_pod_log (
@@ -332,16 +328,18 @@ def logs_grep(self, pattern: str, network: str, k8s_timestamps=False):
332328 timestamps = k8s_timestamps ,
333329 _preload_content = False ,
334330 )
335-
336331 for log_entry in log_stream :
337332 log_entry_str = log_entry .decode ("utf-8" ).strip ()
338333 if compiled_pattern .search (log_entry_str ):
339- pod_prefixed_log = f"{ pod .metadata .name } : { log_entry_str } "
340- matching_logs .append (pod_prefixed_log )
334+ matching_logs .append ((log_entry_str , pod .metadata .name ))
341335 except ApiException as e :
342336 print (f"Error fetching logs for pod { pod .metadata .name } : { e } " )
343337
344- return "\n " .join (matching_logs )
338+ sorted_logs = sorted (matching_logs , key = lambda x : x [0 ])
339+ # Prepend pod names
340+ formatted_logs = [f"{ pod_name } : { log } " for log , pod_name in sorted_logs ]
341+
342+ return "\n " .join (formatted_logs )
345343
346344 def generate_deployment_file (self , warnet ):
347345 """
0 commit comments