diff --git a/frappe/database/database.py b/frappe/database/database.py index fc0f5f50cf..d56d35e5be 100644 --- a/frappe/database/database.py +++ b/frappe/database/database.py @@ -184,7 +184,7 @@ class Database: """ if isinstance(query, MySQLQueryBuilder | PostgreSQLQueryBuilder): - frappe.errprint("Use run method to execute SQL queries generated by Query Engine") + frappe.log("Use run method to execute SQL queries generated by Query Engine") debug = debug or getattr(self, "debug", False) query = str(query) @@ -224,7 +224,7 @@ class Database: self._cursor.execute(query, values) except Exception as e: if self.is_syntax_error(e): - frappe.errprint(f"Syntax error in query:\n{query} {values or ''}") + frappe.log(f"Syntax error in query:\n{query} {values or ''}") elif self.is_deadlocked(e): raise frappe.QueryDeadlockError(e) from e @@ -244,13 +244,13 @@ class Database: # TODO: added temporarily elif self.db_type == "postgres": traceback.print_stack() - frappe.errprint(f"Error in query:\n{e}") + frappe.log(f"Error in query:\n{e}") raise elif isinstance(e, self.ProgrammingError): if frappe.conf.developer_mode: traceback.print_stack() - frappe.errprint(f"Error in query:\n{query, values}") + frappe.log(f"Error in query:\n{query, values}") raise if not ( @@ -261,7 +261,7 @@ class Database: if debug: time_end = time() - frappe.errprint(f"Execution time: {time_end - time_start:.2f} sec") + frappe.log(f"Execution time: {time_end - time_start:.2f} sec") self.log_query(query, values, debug, explain) @@ -333,7 +333,7 @@ class Database: _query = _query or str(mogrified_query) if explain and is_query_type(_query, "select"): self.explain_query(_query) - frappe.errprint(_query) + frappe.log(_query) if frappe.conf.logging == 2: _query = _query or str(mogrified_query) @@ -381,14 +381,14 @@ class Database: def explain_query(self, query, values=None): """Print `EXPLAIN` in error log.""" - frappe.errprint("--- query explain ---") + frappe.log("--- query explain ---") try: self._cursor.execute(f"EXPLAIN {query}", values) except Exception as e: - frappe.errprint(f"error in query explain: {e}") + frappe.log(f"error in query explain: {e}") else: - frappe.errprint(json.dumps(self.fetch_as_dict(), indent=1)) - frappe.errprint("--- query explain end ---") + frappe.log(json.dumps(self.fetch_as_dict(), indent=1)) + frappe.log("--- query explain end ---") def sql_list(self, query, values=(), debug=False, **kwargs): """Return data as list of single elements (first column). diff --git a/frappe/tests/test_api.py b/frappe/tests/test_api.py index 3729e769d7..031a20be42 100644 --- a/frappe/tests/test_api.py +++ b/frappe/tests/test_api.py @@ -187,9 +187,9 @@ class TestResourceAPI(FrappeAPITestCase): with suppress_stdout(): response = self.get(self.resource_path(self.DOCTYPE), {"sid": self.sid, "debug": True}) self.assertEqual(response.status_code, 200) - self.assertIn("exc", response.json) - self.assertIsInstance(response.json["exc"], str) - self.assertIsInstance(eval(response.json["exc"]), list) + self.assertIn("_debug_messages", response.json) + self.assertIsInstance(response.json["_debug_messages"], str) + self.assertIsInstance(json.loads(response.json["_debug_messages"]), list) def test_get_list_fields(self): # test 6: fetch response with fields