feat: adding logging to validation (#16527)
* adding logging to validation * Update superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx Co-authored-by: Beto Dealmeida <roberto@dealmeida.net> Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
This commit is contained in:
parent
1669947bcd
commit
376c685838
|
|
@ -908,14 +908,14 @@ const DatabaseModal: FunctionComponent<DatabaseModalProps> = ({
|
|||
/>
|
||||
);
|
||||
}
|
||||
|
||||
const message: Array<string> = Object.values(dbErrors);
|
||||
const message: Array<string> =
|
||||
typeof dbErrors === 'object' ? Object.values(dbErrors) : [];
|
||||
return (
|
||||
<Alert
|
||||
type="error"
|
||||
css={(theme: SupersetTheme) => antDErrorAlertStyles(theme)}
|
||||
message="Database Creation Error"
|
||||
description={message[0]}
|
||||
description={message?.[0] || dbErrors}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -72,6 +72,10 @@ class TestConnectionDatabaseCommand(BaseCommand):
|
|||
database.db_engine_spec.mutate_db_for_connection_test(database)
|
||||
username = self._actor.username if self._actor is not None else None
|
||||
engine = database.get_sqla_engine(user_name=username)
|
||||
event_logger.log_with_context(
|
||||
action="test_connection_attempt",
|
||||
engine=database.db_engine_spec.__name__,
|
||||
)
|
||||
with closing(engine.raw_connection()) as conn:
|
||||
try:
|
||||
alive = engine.dialect.do_ping(conn)
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ from superset.databases.dao import DatabaseDAO
|
|||
from superset.db_engine_specs import get_engine_specs
|
||||
from superset.db_engine_specs.base import BasicParametersMixin
|
||||
from superset.errors import ErrorLevel, SupersetError, SupersetErrorType
|
||||
from superset.extensions import event_logger
|
||||
from superset.models.core import Database
|
||||
|
||||
BYPASS_VALIDATION_ENGINES = {"bigquery"}
|
||||
|
|
@ -89,6 +90,7 @@ class ValidateDatabaseParametersCommand(BaseCommand):
|
|||
self._properties.get("parameters", {})
|
||||
)
|
||||
if errors:
|
||||
event_logger.log_with_context(action="validation_error", engine=engine)
|
||||
raise InvalidParametersError(errors)
|
||||
|
||||
serialized_encrypted_extra = self._properties.get("encrypted_extra", "{}")
|
||||
|
|
|
|||
Loading…
Reference in New Issue