fix: harden module lifecycle and debug log setup
Export CurrentDialect(), return setup errors when debug logger is not registered, and guard DestName logging when the module is uninitialized. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package dbxshared
|
||||
|
||||
import "fmt"
|
||||
|
||||
type Logger interface {
|
||||
InitLogger()
|
||||
}
|
||||
@@ -20,11 +22,17 @@ func RegisterLogger(dialect dialectString, logger Logger) {
|
||||
}
|
||||
|
||||
// InitLogger initializes the logger for a specific dialect.
|
||||
func InitLogger(dialect dialectString) {
|
||||
func InitLogger(dialect dialectString) error {
|
||||
dialectStr := dialect.String()
|
||||
logger, exists := loggerRegistry[dialectStr]
|
||||
if !exists {
|
||||
panic("No logger registered for dialect: " + dialectStr)
|
||||
return fmt.Errorf("no logger registered for dialect %q: blank-import dbxm (MySQL) or dbxp (Postgres)", dialectStr)
|
||||
}
|
||||
logger.InitLogger()
|
||||
return nil
|
||||
}
|
||||
|
||||
// ResetLoggerRegistry clears registered loggers. It is intended for tests only.
|
||||
func ResetLoggerRegistry() {
|
||||
loggerRegistry = make(map[string]Logger)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user