Skip to content

Commit 6bc389d

Browse files
authored
Clone the Default logger when opening (jinzhu#10)
* Clone the Default logger when opening This fixes a data race when multiple gorm connections are being created simultaneously. * Update main.go
1 parent 6f4358e commit 6bc389d

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

main.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,10 @@ func Open(dialect string, args ...interface{}) (db *DB, err error) {
8585
db = &DB{
8686
db: dbSQL,
8787
logger: defaultLogger,
88-
callbacks: DefaultCallback,
88+
89+
// Create a clone of the default logger to avoid mutating a shared object when
90+
// multiple gorm connections are created simultaneously.
91+
callbacks: DefaultCallback.clone(defaultLogger),
8992
dialect: newDialect(dialect, dbSQL),
9093
}
9194
db.parent = db

0 commit comments

Comments
 (0)