fix: keep credentials out of the DSN rewrite warning
The warning added earlier in this branch logged the whole Postgres DSN, password included, and nothing else in the library has ever printed a connection string. It now reports only the scheme segment, which is the part that actually changed. Regression test asserts the password and host/path never reach the log.
This commit is contained in:
@@ -191,8 +191,11 @@ class GatewaySettings:
|
||||
raise ValueError("telemetry_backend=postgres 时必须提供 telemetry_pg_dsn")
|
||||
stripped = _strip_dsn_driver(self.telemetry_pg_dsn)
|
||||
if stripped != self.telemetry_pg_dsn:
|
||||
# 只报 scheme 段: DSN 带密码,整串不得进日志(P5 敏感信息只走 .env)
|
||||
logger.warning(
|
||||
"telemetry_pg_dsn 含 SQLAlchemy 驱动后缀(asyncpg 不认),已剥为 {}", stripped
|
||||
"telemetry_pg_dsn 的 scheme 含 asyncpg 不认的驱动后缀,已由 {} 剥为 {}",
|
||||
self.telemetry_pg_dsn.partition("://")[0],
|
||||
stripped.partition("://")[0],
|
||||
)
|
||||
object.__setattr__(self, "telemetry_pg_dsn", stripped)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user