@@ -78,7 +78,12 @@ def list_composers():
7878 try :
7979 local = WorkspaceLocalComposer .from_dict (c )
8080 except SchemaError as e :
81- print (f"Schema drift in { db_path } : { e } " )
81+ _logger .warning (
82+ "Schema drift in %s: %s (%s)" ,
83+ db_path ,
84+ e ,
85+ type (e ).__name__ ,
86+ )
8287 continue
8388 # Use the typed view downstream so the dataclass is
8489 # load-bearing, not just a filter (Brad's review): the
@@ -91,9 +96,20 @@ def list_composers():
9196 c ["workspaceFolder" ] = workspace_folder
9297 composers .append ((local , c ))
9398 except SchemaError as e :
94- print (f"Schema drift in { db_path } : { e } " )
99+ _logger .warning (
100+ "Schema drift in %s: %s (%s)" ,
101+ db_path ,
102+ e ,
103+ type (e ).__name__ ,
104+ )
95105 except Exception as e :
96- print (f"Failed reading composers from { db_path } : { e } " )
106+ _logger .error (
107+ "Failed reading composers from %s: %s (%s)" ,
108+ db_path ,
109+ e ,
110+ type (e ).__name__ ,
111+ exc_info = True ,
112+ )
97113
98114 composers .sort (key = lambda pair : to_epoch_ms (pair [0 ].last_updated_at ), reverse = True )
99115 return jsonify ([c for _ , c in composers ])
@@ -152,7 +168,12 @@ def get_composer(composer_id):
152168 # Same drift list_composers() logs and skips at line ~78,
153169 # so a single-composer fetch can't silently return malformed
154170 # JSON the list endpoint hid.
155- print (f"Schema drift in workspace-local composer { composer_id } : { e } " )
171+ _logger .warning (
172+ "Schema drift in workspace-local composer %s: %s (%s)" ,
173+ composer_id ,
174+ e ,
175+ type (e ).__name__ ,
176+ )
156177 continue
157178 # Match list_composers() at line 89 and the global
158179 # fallback below: `conversation` is normalised to []
@@ -163,7 +184,12 @@ def get_composer(composer_id):
163184 payload ["conversation" ] = payload .get ("conversation" ) or []
164185 return jsonify (payload )
165186 except SchemaError as e :
166- print (f"Schema drift in { db_path } : { e } " )
187+ _logger .warning (
188+ "Schema drift in %s: %s (%s)" ,
189+ db_path ,
190+ e ,
191+ type (e ).__name__ ,
192+ )
167193 except (OSError , sqlite3 .Error , json .JSONDecodeError , ValueError ):
168194 pass
169195
@@ -186,7 +212,12 @@ def get_composer(composer_id):
186212 # Don't return malformed JSON to the client — surface the drift
187213 # as a 404 + log, matching the silent-skip behaviour of the
188214 # list endpoints for the same row.
189- print (f"Schema drift in composer { composer_id } : { e } " )
215+ _logger .warning (
216+ "Schema drift in composer %s: %s (%s)" ,
217+ composer_id ,
218+ e ,
219+ type (e ).__name__ ,
220+ )
190221 return jsonify ({"error" : "Composer schema drift" }), 404
191222 payload = dict (composer .raw )
192223 payload ["conversation" ] = payload .get ("conversation" ) or []
0 commit comments